我有這個GUI應用程序,並且我想在用戶打開應用程序時但在顯示GUI後立即執行自定義操作。如何在顯示JFrame後執行某些操作
於是,我把電話給行動統一到JFrame的public Main()
這樣的:
public Main() {
initComponents();
ExecuteAfter();
}
哪裏ExecuteAfter()
是包含acction的方法,或執行行動。
這工作正常,但不是我想要的方式。這樣,在JFrame
顯示之前,即在應用程序窗口出現在屏幕之前,該操作始終執行。我想要的只是在顯示JFrame
之後執行操作,即在屏幕上出現應用程序窗口之後。
我試過把電話撥入public static void main(String args[])
,因爲這裏有JFrame
被創建和顯示。但不起作用,因爲該方法不是靜態的,而且我也不能放置靜態方法,因爲它使用了已被IDE初始化爲非靜態的JFrame
的一些組件。
那麼,問題是:我需要在屏幕上顯示JFrame
後才能執行調用動作的地方?或者還有其他的方式呢?
在此先感謝!
你有沒有考慮嘗試使用'WindowListener'?查看[如何編寫窗口監聽器](https://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html)以獲取更多詳細信息。或者,您可以將調用包裝在一個'SwingUtilities.invokeLater'調用中。我可能會試着做 – MadProgrammer
@MadProgrammer謝謝!這解決了問題。我使用了一個'WindowListener'並且工作完美! – FiroKun