Не работает обращением к элементу - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д