このコードセクションでは、基本的にGUIにボタンを無効にし、スレッドがもう実行されていないときにポップアップウィンドウを表示するようにしたいとします。終了)。Java GUIでのスレッド数の使用
public void actionPerformed(ActionEvent event)
{
String command = event.getActionCommand();
//If btnConvertDocuments is clicked, the FileConverter method is called and the button is then disabled [so as to prevent duplicates].
if (command.equals("w"))
{
new Thread(new Runnable()
{
public void run()
{
FileConverter fc = new FileConverter();
}
}).start();
if (Thread.activeCount() == 0)
{
btnConvertDocuments.setEnabled(false);
//Validation message ensuring completion of the step.
JOptionPane.showMessageDialog(this, "Step 1 Complete!", "Validation", JOptionPane.INFORMATION_MESSAGE);
}
}
なぜif (Thread.activeCount() == 0)
が呼び出されないように見えるのですか?それは私の目的を達成するためにやりたいことではありませんか?入力をお願いします。
によってSwingWorker、非常に良い例に、あなたにBackGroungタスクをラップすることdは、あなたは[ 'ExecutorService'](HTTPをチェックアウトする場合があります。 oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html)および['Future'](http://download.oracle.com/javase/6/docs/api/java/)を参照してください。 util/concurrent/Future.html)。 –