Java. Дайте советы по коду

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Начал писать код окна jFrame,но так как недавно начал изучение,то имеются некоторые проблемы. Суть вот в чем: Начал я с того,что скопировал с код формы jFrame с NetBeans,после чего удалил все ненужное. В initComponents() и вставил свой код. Теперь,непосредственно,к вопросам и проблемам: 1)Не работают (полагаю,из-за того что написаны не правильно) функции кнопок,а именно,в
private void MSettingsActionPerformed(ActionEvent evt) {
    Menu.setVisible(false);
    SettingsMenu.setVisible(true);
}
и в
private void SMBackActionPerformed(ActionEvent evt) {
    SettingsMenu.setVisible(false);
    Menu.setVisible(true);
}
2)Почему-то,даже при импорте import java.awt.*;,некоторые элементы требуют импорт import java.awt.event.*;. 3)Код очень кривой (знаю). Дайте,пожалуйста,советы по структурированию элементов. Посоветуйте,что нужно добавить,а что можно удалить?
package division;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import static javax.swing.JFrame.EXIT_ON_CLOSE;
    public class DIVISION extends JFrame {
 
    int hor,vert,ma,mb;
    public DIVISION() {
        initComponents();
    }
                        
    private void initComponents() {
        Dimension sSize = Toolkit.getDefaultToolkit().getScreenSize();
        vert = sSize.height;
        hor = sSize.width;
        //Setings of window//
        setSize(hor,vert);
        setResizable(false);
        setUndecorated(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //----------------//
        
        //Setings of buttons//
        ma=(hor/4);//height//
        mb=(vert/10);//width//
        //------------------//
        
        JPanel Menu = new JPanel();
        Menu.setLayout(null);Menu.setBackground(Color.red);
            JButton MBack = new JButton("Назад");
                MBack.setSize(ma, mb);
                MBack.setLocation((hor/2)-(ma/2),300);
                MBack.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        MBackActionPerformed(evt);
                    }
                });
            JButton MSettings = new JButton("Настройки");
                MSettings.setSize(ma, mb);
                MSettings.setLocation((hor/2)-(ma/2),400);
                MSettings.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        MSettingsActionPerformed(evt);
                    }
                });
            JButton MExit = new JButton("Выход");
                MExit.setSize(ma, mb);
                MExit.setLocation((hor/2)-(ma/2),500);
                MExit.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        MExitActionPerformed(evt);
                    }
                });
        Menu.add(MBack);Menu.add(MSettings);Menu.add(MExit);
        
        JPanel SettingsMenu = new JPanel();
            JButton SMBack = new JButton("Назад");
                SMBack.setSize(ma, mb);
                SMBack.setLocation((hor/2)-(ma/2),300);
                SMBack.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        SMBackActionPerformed(evt);
                    }
                });
        SettingsMenu.add(SMBack);
            
        setContentPane(Menu);    
        SettingsMenu.setVisible(false);
      
    }                      
 
    private void MBackActionPerformed(ActionEvent evt) {
        //
    }
    
    private void MSettingsActionPerformed(ActionEvent evt) {
        Menu.setVisible(false);
        SettingsMenu.setVisible(true);
    }
    
    private void MExitActionPerformed(ActionEvent evt) {
        System.exit(0);
    }
    
    private void SMBackActionPerformed(ActionEvent evt) {
        SettingsMenu.setVisible(false);
        Menu.setVisible(true);
    }
 
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DIVISION().setVisible(true);
            }
        });
    }
                    
    private JPanel Menu;
    private JButton MExit;
    private JButton MBack;
    private JButton MSettings;
    private JButton SMBack;
    private JPanel SettingsMenu;                   
    }

Решение задачи: «Java. Дайте советы по коду»

textual
Листинг программы
private void MSettingsActionPerformed(ActionEvent evt) {
       this.setContentPane(SettingsMenu);
       revalidate();
       repaint();
        //Menu.setVisible(false);
        //SettingsMenu.setVisible(true);
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5