我正在尝试开发一个包含更多JPanel的Java应用程序。现在,我在主构造函数Graphics()中有所有JPanels,在那里,我将它们全部添加到JFrame中。我想打破代码,并将每个容器移动到自己的类中,但是,当我运行该代码时,它会一遍又一遍地重复,永远不会停止生成JFrame。关于如何破解我的代码的任何想法?
以下是代码:
public Graphics() {
//====== GENERAL=========//
frame = new JFrame();
frame.setSize(1300, 700);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setVisible(true);
//====== GENERAL=========//
//====== MENU BAR=========//
JMenuBar menuBar = new JMenuBar();
menuBar.setBounds(0, 0, 1284, 21);
JMenu menuFile = new JMenu("File");
menuBar.add(menuFile);
JMenuItem itemMain = new JMenuItem(new AbstractAction("Main"){
public void actionPerformed(ActionEvent e) {
mainPage.setVisible(true);
}
});
menuFile.add(itemMain);
JMenuItem itemLog = new JMenuItem(new AbstractAction("Log off"){
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
loginPage.setVisible(true);
mainPage.setVisible(false);
passField.setText("");
lblWrongPassword.setVisible(false);
}
});
menuFile.add(itemLog);
JMenu menuHelp = new JMenu("Help");
menuBar.add(menuHelp);
JMenuItem menuHelpInfo = new JMenuItem(new AbstractAction("Directions"){
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, helpInfo);
}
});
menuHelp.add(menuHelpInfo);
frame.setJMenuBar(menuBar);
//====== MENU BAR=========//
//====== MAIN PAGE=========//
mainPage = new JPanel();
mainPage.setBounds(0, 0, 1284, 662);
frame.getContentPane().add(mainPage);
mainPage.setLayout(null);