public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("swing test");
frame.setSize(300, 200);
frame.setLayout(null);
JButton btnNewFrame = new JButton("新窗口");
btnNewFrame.setBounds(30, 30, 80, 40);
frame.getContentPane().add(btnNewFrame);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时,直接退出
btnNewFrame.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成
final JFrame frame = new JFrame("new frame");
frame.setSize(200, 180);
frame.getContentPane().add(new JLabel("this is a new frame"));
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
// TODO 自动生成
frame.dispose();//dispose会隐藏窗体并释放窗体所占用的部分资源
}
});
}
});
}
追问我不是要退出程序 我是两个jFrame 有一个上面点击按钮后显示另一个JFrame同时那个也没有关闭 这个后显示的点关闭后我不希望按钮这个JFrame也关闭
追答大哥,你没看到【frame.dispose();//dispose会隐藏窗体并释放窗体所占用的部分资源】这句吗。
public void windowClosed(WindowEvent e) {
// TODO 自动生成
frame.dispose();//dispose会隐藏窗体并释放窗体所占用的部分资源
}
追问我用了呀 不行呀 两个窗口都给我关了呀
追答你要不把你完整的代码发给我,我帮你看看。472027723@qq.com。
追问我是用netbeans写的 项目里面还包括了JavaFX 发过去你那能运行吗 如果可以我就给你发过去
追答我不需要整个项目,你直接给你那两个jFrame相关的代码就行了。看代码应该就能发现问题了
追问已经给你发过去了 请你帮忙看看 谢谢
本回答被网友采纳