嗨,我有一个全屏程序,我不希望别人关闭,除非他们有密码我现在有这个代码
public void windowClosing(WindowEvent arg0)
{
System.out.println("HERE");
String inputValue = JOptionPane.showInputDialog("Please input the closeword");
if (inputValue != "closeplz")
{
}
}
在if语句中我希望它停止方法,以便程序能够关闭。感谢ste的任何帮助都会有很大的帮助。
答案 0 :(得分:7)
你必须致电
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
在JFrame
实例上(或内部)。然后,除非您手动执行,否则帧不会关闭,但仍会调用windowClosing()
。在其中,您可以有条件地调用
System.exit(1);
将结束申请。务必先进行必要的清理工作。
答案 1 :(得分:1)
查看Closing an Applicaton以获取简单的课程,以帮助您解决此问题。您需要提供自定义关闭操作,提示用户输入密码。
使用您的简单示例代码将是:
Action ca = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
JFrame frame = (JFrame)e.getSource();
String inputValue = JOptionPane.showInputDialog("Please input the closeword");
if (! inputValue.equals("closeplz"))
{
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
};
CloseListener cl = new CloseListener(ca);