我在frame1中有两个单选按钮。单击启用单选按钮,它将弹出另一个名为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);
}
答案 0 :(得分:2)
有许多方法可以获取活动窗口实例列表并验证哪个框架/窗口可见。
答案 1 :(得分:0)
答案 2 :(得分:0)
看看这里: How can a Swing WindowListener veto JFrame closing
您需要做的是,在frame1和frame2中,您需要设置setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)。然后在下面的代码中:
frame1.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//check is frame 2 is open.. if it is then return without doing anything, else
// frame1.dispose();
}
});