0

JFrameウィンドウを非表示にして、このようなアクションで別のクラスからメイン メソッドを開始することは可能ですか?

アクションのコードは次のとおりです。

private AbstractAction start = new AbstractAction("start") {

       @Override
       public void actionPerformed(ActionEvent arg0) {


       }
};
4

2 に答える 2

0

JFrame には、必要に応じてウィンドウを非表示にする setVisible メソッドがあります。

他のクラスのメイン メソッドを静的に呼び出すこともできますが、これは少し面倒な方法です。メイン メソッドとアクションの両方で、必要なタスクを実行する別のメソッドを呼び出すことをお勧めします。

JFrame をアクションで表示するように設定していて、他のメソッドには時間がかかる可能性があるため、おそらく SwingWorker スレッドを使用する必要があります。そうしないと、インターフェイスがハングし (アクションは、フレームを描画するスレッドと同じスレッドを使用して呼び出されます)、アクションメソッドが存在するまで非表示になりません。ここを参照してください: http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingWorker.html

于 2013-09-12T16:11:53.500 に答える