1
私はJavaFXを初めて使いました。問題は、オブジェクトがメソッドを実行するまでUIが更新されないことです。ボタンをクリックすると、GUIが応答しません(タイトルバーの "(Not Responsible)"と表示されます)メソッドが終了すると、UIが更新されます。その後、アップデートやメソッドを実行する他の方法私はこれをどのように修正すればよいがあり続行する前にUIアップデートを確認する方法
Object myObj;
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
/* some ui updates */
myLabel.setText("something");
try {
/* try initiating object and doing some methods with them */
myObj = new Object();
myObj.doMethod();
あなたの 'doMethod()'メソッドは多くの時間を消費しますよね?これはjavafxの問題ではなく、シングルスレッドアプリケーションの問題です。新しいスレッドを作成し、GUIからメインスレッドを使用しないでください。 –
@JoshuaKそれは最大4~5秒かかります。前にUIを変更するメソッドを呼び出すので、前もってUIを更新してから続行する必要があります。 –
'handle'メソッドは同じスレッドで動作します。 'handle'メソッドが終了したときに更新が実行されます。 doMethodメソッドが4〜5秒かかった場合、GUIはこれらの時間の後に更新されます。通常の動作です。 –