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);
}