私はこのGUIアプリケーションを持っていて、ユーザーがアプリケーションを開いたときにGUIが表示された後にカスタムアクションを実行したいと思います。JFrameの後にアクションを実行する方法
だから、私はこのようなのJFrameのpublic Main()
にアクションへの呼び出しを置く:ExecuteAfter()
はacction、または実行するアクションが含まれている方法である
public Main() {
initComponents();
ExecuteAfter();
}
。
これはうまく動作しますが、私の望むやり方ではありません。この方法では、JFrame
が表示される前、つまりアプリケーションウィンドウが画面に表示される前にアクションが実行されます。私が望むのは、JFrame
が表示された後、つまりアプリケーションウィンドウが画面に表示された後にのみアクションを実行することです。
public static void main(String args[])
に電話をかけようとしましたが、JFrame
が作成され表示されています。しかし、メソッドが静的ではないために動作しません。IDEで非staticに初期化されているJFrame
の一部のコンポーネントが使用されているため、このメソッドをstaticにすることはできません。
質問:ここでは、JFrame
が画面に表示された後に実行できるアクションの呼び出しを置く必要がありますか?それとも他の方法がありますか?
ありがとうございます!
あなたは 'WindowListener'を使用しようと考えましたか?詳細は、[ウィンドウ・リスナーの作成方法](https://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html)を参照してください。代わりに、 'SwingUtilities.invokeLater'呼び出しで呼び出しをラップすることもできます。私はおそらく両方をするように誘惑されるだろう – MadProgrammer
@MadProgrammerありがとう!それが問題を解決しました。私は 'WindowListener'を使用し、完璧に動作します! – FiroKun