我正在为比赛创建一个独立的数据管理程序(所以我不会发布所有代码,只发布相关内容) - 但是,我现在正在Eclipse Neon中测试它,因为它& #39;没做完。另外,我使用WindowBuilder,如果这很重要(我不认为它应该。)
我有一个JFrame(称之为" welcome")在首次启动应用程序时打开。在" welcome",我有一个JButton打开一个不同的JFrame(称之为" emp")并关闭" welcome" (通过frame.dispose()。)如果我退出"欢迎" (使用默认的右上角X),然后程序终止。但是,如果我点击Jbutton打开" emp"然后关闭" emp"以同样的方式,程序不会终止。我的问题是如何在" emp"退出了。
第一个JFrame的代码(" welcome"):
public class Welcome extends JFrame implements ActionListener {
private JFrame frame;
// Launch the application.
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Welcome window = new Welcome();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
// Create the application.
public Welcome() {
initialize();
frame.pack();
}
//Variable declaration.
//A bunch of variables that aren't important
//End variable declaration.
// Initialize the contents of the frame.
private void initialize() {
//TODO comment this out better
//Create the JFrame and set all of its stuff.
frame = new JFrame();
frame.setBackground(Color.BLACK);
frame.getContentPane().setBackground(lightGrey);
frame.setIconImage(logo.getImage());
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SpringLayout springLayout = new SpringLayout();
frame.getContentPane().setLayout(springLayout);
//Add a bunch of components that also aren't important
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("employees")) {
frame.dispose();
Employees emp = new Employees();
emp.setVisible(true);
}
}
}
我的第二个JFrame的代码(" emp"):
public class Employees extends JFrame {
private JFrame frame2;
/**
* Create the application.
*/
public Employees() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame2 = new JFrame();
frame2.setExtendedState(MAXIMIZED_BOTH);
frame2.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
他们都设置为EXIT_ON_CLOSE,但只有当我退出" welcome&#34 ;, not" emp"时才会有效。如果有人有任何想法/解决方案,我全都耳朵!