![](/img/trans.png)
[英]How to make a Java program quit when “Q” is inputted, issue is the default input variable is double
[英]Confirm program quit when cmd + Q is pressed
我有一個帶有JFrame的程序,我使用WindowListener來關閉程序。 我使用以下方法來提示有關保存程序中所做更改的消息:
public void windowClosing(WindowEvent e) {
if (condition) {
System.exit(0);
}
但是,當我按cmd + Q時,我的程序將退出,而無需選擇保存。 是否有一種聰明的方法來確保我可以在關閉程序之前具備條件,而不管我是通過窗口X還是通過鍵盤快捷鍵來關閉它? 還是我需要為此創建一個KeyEvent?
您需要在JFrame上更改DefaultCloseOperation,然后在windowClosing事件(或如上所示的System.exit(0))上處理框架。 這是一個簡單的工作示例:
JFrame f = new JFrame();
f.setPreferredSize(new Dimension(300, 300));
f.pack();
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent we) {
if (condition) {
f.dispose();
}
}
});
f.setVisible(true);
這樣,所有關閉操作都將使用您的條件。
但是,當我按cmd + Q時,
我相信這是您從命令行輸入的按鍵嗎?
如果是這樣,您也許可以使用Runtime
類中的addShutDownHook(...)
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.