2016-04-02 16 views
1

私はこの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が画面に表示された後に実行できるアクションの呼び出しを置く必要がありますか?それとも他の方法がありますか?

ありがとうございます!

+0

あなたは 'WindowListener'を使用しようと考えましたか?詳細は、[ウィンドウ・リスナーの作成方法](https://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html)を参照してください。代わりに、 'SwingUtilities.invokeLater'呼び出しで呼び出しをラップすることもできます。私はおそらく両方をするように誘惑されるだろう – MadProgrammer

+0

@MadProgrammerありがとう!それが問題を解決しました。私は 'WindowListener'を使用し、完璧に動作します! – FiroKun

答えて

1

私はWindowListenerを使用して問題を解決しました。

public Main()のコンストラクタにコールするか、public static void main(String args[])のメインにコールするのではなく、WindowsListenerを呼び出して設定しました。そのように:

private void formWindowOpened(java.awt.event.WindowEvent evt) { 
    ExecuteAfter(); 
} 

そして、私が望むように完全に動作します。

チップのための@MadProgrammerありがとうございました。

0

私はあなたが質問を理解している場合、私は私のプロジェクトに同様のケースを使用します。私はJFrameが表示されるときにタイマーを開始する必要があったので、これはどうやって行うのですか。

私は2つのメソッドと1つのコンストラクタを使用します。最初のメソッド(exp。Name:GUIの準備)では、JFrame、JPanel、そしてコンストラクタで呼び出すメソッドを作成するために必要なものをすべて追加することができます。 2番目のメソッド(exp名:start GUI)では、すべてのコンポーネントをJPanel/s、JPanel/sをJFrameに追加し、JFrameをvisible =(true)に設定してメソッドExecuteAfter()を追加します。メインメソッドを呼び出す必要があるその2番目のメソッド(GUIを準備する)。それがあなたを助けることを願っています。

+0

私が作業しているIDEは自動的に 'public Main()'という質問で参照するコンストラクタを1つ作成します。ここで、 "Main"は任意の名前にできる 'JFrame'の名前です。コンストラクタを呼び出してウィンドウを表示する、 'main'、適切に' public static void main(String args []) 'を呼び出します。問題は '静的'なので 'main'を呼び出すことができないということです。私はその質問で説明した理由で呼び出すことができません。 – FiroKun

+0

私はすでに 'WindowListener' @MadProgrammerの答えでこの問題を解決しました。ありがとう! – FiroKun

関連する問題