Java視窗的監聽
可以在window(及子類Frame,JFrame,JWindow)中使用addWindowListener方法來添加WindowListener。
實現都視窗事件的監聽。
public interface WindowListener extends EventListener
WindowListener用於接收視窗事件的接聽程式介面。
旨在處理視窗事件的類要麼實現此介面(及其包含的所有方法),要麼擴充抽象類別 WindowAdapter(僅重寫所需的方法)。
然後使用視窗的 addWindowListener 方法將從該類所建立的接聽程式對象向該 Window 註冊。
當通過開啟、關閉、啟用或停用、表徵圖化或取消表徵圖化而改變了視窗狀態時,將調用該接聽程式對象中的相關方法,並將 WindowEvent 傳遞給該方法。
方法摘要
void windowActivated(WindowEvent e)
將 Window 設定為活動 Window 時調用。
void windowClosed(WindowEvent e)
因對視窗調用 dispose 而將其關閉時調用。
void windowClosing(WindowEvent e)
使用者試圖從視窗的系統功能表中關閉視窗時調用。
void windowDeactivated(WindowEvent e)
當 Window 不再是活動 Window 時調用。
void windowDeiconified(WindowEvent e)
視窗從最小化狀態變為正常狀態時調用。
void windowIconified(WindowEvent e)
視窗從正常狀態變為最小化狀態時調用。
void windowOpened(WindowEvent e)
視窗首次變為可見時調用。
注意:windowClosed只有會在dispose而將其關閉時調用。即使點擊關閉按鈕,程式關閉,該函數也沒調用。
可以在window(及子類Frame,JFrame,JWindow)中使用addWindowStateListener方法來添加WindowStateListener。
實現都視窗狀態的監聽。
public interface WindowStateListener extends EventListenerWindowStateListener用於接收視窗狀態事件的接聽程式介面。
旨在處理視窗狀態事件的類要麼實現此介面(及其包含的所有方法),要麼擴充抽象 WindowAdapter 類(僅重寫所需的方法)。
然後使用 Window 的 addWindowStateListener 方法將從該類所建立的接聽程式對象向該 Window 註冊。
當通過表徵圖化、最大化等改變視窗狀態時,就調用接聽程式對象中的 windowStateChanged 方法,並將 WindowEvent 傳遞給該方法。
方法摘要
void windowStateChanged(WindowEvent e)
視窗狀態改變時調用。
JFrame與 Frame 不同,當使用者試圖關閉視窗時,JFrame 知道如何進行響應。
使用者關閉視窗時,預設的行為只是簡單地隱藏 JFrame。要更改預設的行為,可調用方法 setDefaultCloseOperation(int)。
要使 JFrame 的行為與 Frame 執行個體相同,請使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)。
如果要點擊關閉按鈕就退出程式請調用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);