私のプログラムには設定タブがあります。ここで設定できるデータは、このパネルから変更できるだけでなく、だから私は5秒ごとにこのデータをリロードしたいのです。私はこれが余分のスレッドで行われなければならないと思うが、スレッドに関する私の知識は最小限である。私はすでにこの目的のためにリロードメソッドを持っています。X秒ごとにリロードJPanel(スレッドを使用)
これを行うにはどうすればよいですか?
私のプログラムには設定タブがあります。ここで設定できるデータは、このパネルから変更できるだけでなく、だから私は5秒ごとにこのデータをリロードしたいのです。私はこれが余分のスレッドで行われなければならないと思うが、スレッドに関する私の知識は最小限である。私はすでにこの目的のためにリロードメソッドを持っています。X秒ごとにリロードJPanel(スレッドを使用)
これを行うにはどうすればよいですか?
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(yourRunnable, 5, 5, SECONDS);
はその後リロードあなたの
JPanel
yourRunnable
で(ただのJavaDocの例に従ってください)。
Timer
を使用すると、定期的にデータを更新できます。
が、スレッドについての私の知識は最小限です...
paintComponent(...)
メソッドで、またはおそらくはBufferedImageで、GUIのグラフィック表現を描き、paintComponent(...)
の内部に表示します。ScheduledExecutorService
を持つことができます。repaint()
を呼び出します。 SwingWorkerを使用している場合は、process/publishメソッドのペアがこれに役立ちます。これでデータをSwingイベントスレッドに公開することができます。
あなたは私の名前を間違って綴りました:私が言及しなかったすべての有用なもののためのP +1。 – syb0rg
@ syb0rg:おっと、私の悪い! –
+1を5ポイントで短く提供する。 –