Не работает обращением к элементу - Java

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

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

Доброго времени суток. Имеется код,и в функции "SettingsActionPerformed",в строке "Menu.setVisible(false);" появляется ошибка. В чем проблема? Так же,знатоки,если можете,дайте советы по оптимизации кода (Java начал изучать недавно,не кидайтесь тапками за говнокод).
package division;
import java.awt.*;
import javax.swing.*;
public class Window extends JFrame {
    int vert,hor,ma,mb;
    
    Window(){
        super("DIVISION");
        Dimension sSize = Toolkit.getDefaultToolkit().getScreenSize();
        vert = sSize.height;
        hor  = sSize.width;
        
        //Setings of buttons//
        ma=300;//height//
        mb=30;//width//
        //------------------//
        
        //Setings of window//
        setResizable(false);
        setUndecorated(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //----------------//
        
        JPanel Menu = new JPanel();
        /*->*/JButton Back = new JButton("Назад");
        /*->*/JButton Settings = new JButton("Настройки");
        /*->*/JButton Exit = new JButton("Выход");
        JPanel SettingsMenu = new JPanel();
        
        Menu.setLayout(null);
        Menu.setBackground(Color.red);

        Back.setSize(ma, mb);
        Back.setLocation((hor/2)-(ma/2),100);
        Back.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BackActionPerformed(evt);
            }
        });
        Menu.add(Back);
        
        Settings.setSize(ma, mb);
        Settings.setLocation((hor/2)-(ma/2),200);
        Settings.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                SettingsActionPerformed(evt);
            }
        });
        Menu.add(Settings);
        
        Exit.setSize(ma, mb);
        Exit.setLocation((hor/2)-(ma/2),300);
        Exit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ExitActionPerformed(evt);
            }
        });
        Menu.add(Exit);
        
        setContentPane(Menu);
        
        setSize(hor,vert);
    }
 
    private void BackActionPerformed(java.awt.event.ActionEvent evt) {
        
    }
    
    private void SettingsActionPerformed(java.awt.event.ActionEvent evt) {
        Menu.setVisible(false);
    }
      
    private void ExitActionPerformed(java.awt.event.ActionEvent evt) {
        System.exit(0);
    }
}
package division;
import javax.swing.*;
public class DIVISION {
    public static void main(String[] args) {
        JFrame Window = new Window();
        Window.setVisible(true);
    }  
}

Решение задачи: «Не работает обращением к элементу»

textual
Листинг программы
public static void main(String[] args) {
        Window window = new Window();
        window.setVisible(true);
    }

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


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

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

7   голосов , оценка 4.286 из 5
Похожие ответы