仅当子窗口在 java swing 中关闭时才需要关闭父窗口
我在第 1 帧中有两个单选按钮。单击“启用”单选按钮时,它将弹出另一个名为“frame2”的框架。我希望在打开frame2 时不要关闭frame1。但当单击 X 时它会关闭。我使用了“frame1.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);”。它仍然关闭。
enable.addItemListener(new ItemListener()
{
@Override
public void itemStateChanged(ItemEvent e)
{
// TODO Auto-generated method stub
frame2.setVisible(true);
frame1.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
I have two radio buttons in frame1. On click on enable radio button, it will popup another frame called frame2. I want, not to close the frame1 while the frame2 is opened. But it get closed when click on the X. I used "frame1.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);". Still it get closed.
enable.addItemListener(new ItemListener()
{
@Override
public void itemStateChanged(ItemEvent e)
{
// TODO Auto-generated method stub
frame2.setVisible(true);
frame1.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有多种方法可以获取活动窗口实例的列表并验证哪个框架/窗口可见或不可见。
There are number of methods to get the list of active window instances and verify which frame/window is visible or not.
看看这里:
Swing WindowListener 如何否决 JFrame 关闭
您需要什么要做的是,在frame1和frame2中,您需要设置setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)。然后在下面的代码中:
Have a look here:
How can a Swing WindowListener veto JFrame closing
What you will need to do is, in frame1 and frame2 you will need to set setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE). Then in the below code:
如果您只需要使用frame2,您可以尝试使用 dialogs 。
简短的谷歌搜索还发现了另一个解决方案。
In case you need to work with the frame2 only, you may try to use dialogs.
A brief googling discovered another solution as well.