2017-08-30 15 views
-2

文字通りどこでも読んでいます。私はこれを解決することはできません。ループ実行時にJavaFX GUIがフリーズし続ける

public class Controller { 
    @FXML 
    public Label myTimes; 
    @FXML 
    private TextField username; 
    @FXML 
    private TextField password; 
    @FXML 
    private TextField totalTimes; 
    public void times (ActionEvent event) { 
     String usernameVar = username.getText(); 
     String passwordVar = password.getText(); 
     String times = totalTimes.getText(); 
     main Main = new main(); 
     Main.booster(usernameVar, passwordVar, Integer.parseInt(times)); 
     myTimes.setText("Completed: " + Integer.toString(Main.timess)); 

    } 

ブースターメソッドはセレンを開いてWeb上でタスクを実行しています。しかし、これがそうするように、GUIはタスクが完了するまでフリーズします。私はタスクとスレッドを使用しようとしましたが運はありません(私は実際にそれらを使用する方法はわかりません)。誰も私に解決策を教えてもらえますか?

+4

解決方法は、タスクとスレッドを使用することです。それがうまくいかない場合は、正しく行っていないためです。それを行う試みを投稿して、どのようにそれを が機能しないのか説明してください。 –

+0

あなたはスレッドやタスクをあなたのメソッドの内部で使用しました**ブースター**またはあなたのコントローラからスレッドを使ってあなたのメソッドを呼び出しましたか? –

+0

私は仕事を使いましたが、何時間も仕事をしてしまいました。 –

答えて

-1

、Javaの2つのオプションがあります。Task

TaskRunnable Classの一種)

ドキュメントの使用Thread

  • Thread

    ドキュメントの使用

    1. は、

      リトル例:Task with ProgressBar

    私はnormaly Task使用しますが、それは好みの問題だ

    PS:スレッドまたはタスクのコードはバックグラウンドで動作し、あなたの他のコードは、通常続け

  • +1

    もちろん、タスクを使用する場合はまだスレッドが必要です。 –

    +0

    それは正しいです:)私は私の答えを更新しました...あなたの場合、私は例のリンクを試してみることをお勧めします...もしあなたが問題を抱えたら、私はもう一度正しいことができます – Developer66

    +0

    しかし、 'タスク'は 'スレッド'を拡張しません。 –

    関連する問題