在学习java的过程中无论我们是编写记事本还是计算器或者是一个小小的窗口,我们都要到用到关闭窗口的方法。要不运行之后窗口就一直停在那里,那怎么关闭窗口呢?为什么有的语句用在这个程序里面可以,在其他地方就不行呢?这也是我在编程中遇到的一个问题。找到了两种解决方案,快来看看哪种适合你的程序吧。
1.
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
<span style="white-space:pre"> </span>this.addWindowListener(new WindowAdapter()
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>public void windowClosing(WindowEvent e)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",
<span style="white-space:pre"> </span>JOptionPane.YES_NO_OPTION);
<span style="white-space:pre"> </span>if (n == JOptionPane.YES_OPTION)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>System.out.println(n);
<span style="white-space:pre"> </span>System.exit(0);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else if (n == JOptionPane.NO_OPTION)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>return;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>});
2.
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",
JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.YES_OPTION)
{
System.exit(0);
} else if (n == JOptionPane.NO_OPTION)
{
return;
}
}
});