我正在構建一個文本編輯器,我不知道如何處理Swing退出按鈕上的偵聽器,該按鈕是自動創建的。 我想在用戶沒有保存文件時使用對話框,例如按下退出按鈕。處理自動創建的退出按鈕?
0
A
回答
0
假設你有你的窗口句柄,假設它是一個Window
物體(如JFrame
或其他種類的窗口),你可以聽到WindowEvent
事件。以下是windowClosed
的示例,如果您需要先截取它,則可以用windowClosing
替換它。
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
// do something here
}
});
0
逐步轉到:
- 聲明布爾變量
saved
和它的默認值設置爲false。 - 當用戶保存文件時,將其更改爲true
- 當按下退出按鈕時,檢查變量。
- 如果
true
退出,則提示用戶保存文件。
所以,最後這個代碼片段看起來像:
public boolean saved = false;
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saved = true;
//Code to save file
}
});
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(saved)
System.exit(0);
else {
//Code to prompt user to save file
}
}
});
+0
我不能添加監聽器退出按鈕,因爲這個按鈕正在自動創建 – thenewproblem
+1
@thenewproblem添加所有重要的信息的問題。不在評論中。這是什麼意思自動創建的?如果它有一個聽衆 - 編輯它。如果沒有,並且你不能添加 - 你不能使用它。 – c0der
1
final JFrame f = new JFrame("Good Location & Size");
// make sure the exit operation is correct.
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
// pop the dialog here, and if the user agrees..
System.exit(0);
}
});
如在本answer to Best practice for setting JFrame locations,其在退出之前&尺寸串行化幀位置看到。
相關問題
- 1. 處理:創建按鈕
- 2. 自退出按鈕
- 3. 處理後退按鈕
- 4. Zxing處理後退按鈕
- 5. 後退按鈕處理wp7
- 6. Android - 處理後退按鈕
- 7. 處理android後退按鈕
- 8. 處理後退按鈕
- 9. 後退按鈕處理
- 10. 如何創建一個退出按鈕
- 11. 無法創建退出按鈕
- 12. 創建退出按鈕,在Excel中2010
- 13. LogOut按鈕創建後退按鈕
- 14. Google在退出後如何處理後退按鈕?
- 15. 按tkinter上的退出按鈕後無法完成處理
- 16. 處理後退按鈕的問題
- 17. 處理後退按鈕的Android(onBackPressed)
- 18. Android的完整動作使用'後退按鈕按下處理
- 19. C#中如何處理多動態創建的按鈕事件
- 20. 動態創建按鈕的右鍵單擊處理程序
- 21. 在jquery中動態創建按鈕的點擊處理程序
- 22. 事件處理在WPF的形式動態創建按鈕
- 23. PHP處理動態創建的單選按鈕
- 24. 在JQuery中動態創建單選按鈕的事件處理
- 25. 如何可能處理後退按鈕
- 26. 單擊後退按鈕後處理GUI
- 27. 在jquery中處理後退按鈕
- 28. React Native - 設備後退按鈕處理
- 29. 後退按鈕處理片段
- 30. XPage:處理瀏覽器後退按鈕
歡迎來到SO。這是什麼意思自動創建的?通過GUI構建器?因此,使用GUI構建器來添加一個偵聽器。如果它有一個聽衆 - 編輯它。如果沒有,並且你不能添加 - 你不能使用它。 – c0der
也許他是指Windows,Mac OS或任何操作系統提供的窗口裝飾品? –
你不明白你的意思是什麼樣的退出按鈕。你應該添加一個顯示它的屏幕截圖。 –