Java. Дайте советы по коду
Формулировка задачи:
Доброго времени суток. Начал писать код окна jFrame,но так как недавно начал изучение,то имеются некоторые проблемы. Суть вот в чем:
Начал я с того,что скопировал с код формы jFrame с NetBeans,после чего удалил все ненужное. В initComponents() и вставил свой код.
Теперь,непосредственно,к вопросам и проблемам:
1)Не работают (полагаю,из-за того что написаны не правильно) функции кнопок,а именно,в
и в
2)Почему-то,даже при импорте import java.awt.*;,некоторые элементы требуют импорт import java.awt.event.*;.
3)Код очень кривой (знаю). Дайте,пожалуйста,советы по структурированию элементов. Посоветуйте,что нужно добавить,а что можно удалить?
private void MSettingsActionPerformed(ActionEvent evt) { Menu.setVisible(false); SettingsMenu.setVisible(true); }
private void SMBackActionPerformed(ActionEvent evt) { SettingsMenu.setVisible(false); Menu.setVisible(true); }
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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д