スレッドを使用してカウントダウンタイマーを作成したかったのですが(試してみたことです)、UIを作成しました。私はThread.yield()
を使ってみましたが、うまくいきませんでした。私は別の質問で見たinvokeLater()
トリックをやろうとしましたが、それでも私に与えることはできませんconvert void to Thread
。スレッドはカウントダウン中にUIをフリーズします
UIが1秒ごとに通過すると、JTextFieldが更新されます。スレッドセーフ
field = new JTextArea();
Button = new JButton();
Button.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
for (int i = Integer.parseInt(field.getText()); i >= 0; i--)
{
try
{
Thread.sleep(1000);
}
field.setText(Integer.toString(i));
}
}
}
);
UIスレッドでスリープしてはいけません。 – SLaks
あなたはこれを見てみたいです。http://stackoverflow.com/questions/40265427/updating-swt-periodically-causes-gui-to-freeze –
スレッドを使用していて、まったく新しいことを詳しく教えてください。D: – Bruce