Java アプリケーションのバージョン 3 を開始することにしました。アプリケーションを適切な方法で開始しているかどうかを知りたいと思いました。以前も質問したことがありますが、さまざまな回答がありました。
netbeans Java アプリケーションを開始し、すべてのコンポーネントを JFrame に描画しました。私のバージョン2では、プログラムをそのまま開始していました
コード: (これもこれまでのバージョン 3 です)
public class theApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
final CLSuiteMain theMainFrame = new CLSuiteMain();
EventQueue.invokeLater
(
new Runnable()
{
@Override
public void run()
{
try {
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (UnsupportedLookAndFeelException ex)
{
Logger.getLogger(theApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex) {}
theMainFrame.setVisible(true);
}
}
);
}
}
これを Windows アプリケーションとして作成しています。ロボット クラスを介してユーザー アクションをシミュレートするスレッドを (安全に) その中で開始できるようにしたいと考えています。ユーザーが CLSuiteMain オブジェクトのトグル ボタンを押して、このスレッドを開始および一時停止できるようにしたいと考えています。また、メインの JFrame が安全に終了すると、スレッドも終了します。
まず、私がやりたいことのために、このスレッドを安全に開始できましたか? 説明どおりに実行できるアプリケーション内の別のスレッドを適切かつ安全に実装するにはどうすればよいですか?
- つまり、アプリを起動し、トグル ボタンをクリックすると、スレッドがループで開始され、ユーザーがトグルを再度押すまで同じ手順を実行し続けます。その時点で、ループの実行が停止し、別の処理が続行されます。トグルボタンのクリック。(ボーナス、スレッドの実行をループの先頭にリセットするにはどうすればよいですか?)
私は完全なコードなどを探しているわけではありません。他の助けがなければ、可能であれば疑似コードの簡単な例を探しています。