我有这个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