首先抱歉我的英语不好。
嗨,我正在尝试使用带有YES_NO_OPTION的confirmDialog。 我想要的是,当我关闭一个框架时,会显示一个confimDialog,询问我是否要关闭。
如果我按是everyThing最多关闭,如果我按否则确认对话将消失
但问题是即使我按下没有按钮关闭这是我的代码:
final JFrame frame = new JFrame("2D Game");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1600,600);
frame.setResizable(false);
private void continuerButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_continuerButtonActionPerformed
int level=getlevel();
System.out.println(niveau);
if(niveau == 1)
{
this.dispose();
frame.add(new Board());
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
doExitOption();
}
});
}
}
这是doExitOption
方法:
public void doExitOption()
{
int option=JOptionPane.showConfirmDialog(null, "do you want to quit the game", "Warnning",JOptionPane.YES_NO_OPTION);
if(option == JOptionPane.YES_OPTION)
{
frame.dispose();
}
}
答案 0 :(得分:3)
您需要更改JFrame
的默认关闭操作,以便您对dispose
的调用是唯一要求处理该窗口的调用:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
答案 1 :(得分:3)
见Closing an Application。它可以为您管理默认的关闭操作。
答案 2 :(得分:0)
将JFrame的默认关闭更改为DO_NOTHING_ON_CLOSE
。