私は単純なログインウィンドウを持っています。ログイン要求を送信するとJFXSpinner(ローダのようなもの)を表示したいと思います。そのために、私はJFXSpinnerオブジェクトを作成していますが、最初は目に見えない(可視値をfalseに設定しています)ユーザーがLOGINボタンをクリックすると、リクエストを送信する前にスピナーを表示し、 。 問題は次のとおりです。JFXSpinnerを表示できません。誰でも私を助けてくれる?JFXでのJFXSpinnerの可視性を更新できません
これは私のログインMethodeの
//loader : is my JFXSpinner object
public void login(ActionEvent event)
{
Task task = new javafx.concurrent.Task<Void>()
{
@Override
protected Void call() throws Exception
{
loader.setVisible(true);
if(Compte.login(username.getText(), password.getText()))
{
System.err.println("It's okey");
}
else
{
//TODO
}
loader.setVisible(false);
return null;
}
@Override
protected void succeeded()
{
loader.setVisible(false);
}
@Override
protected void failed()
{
loader.setVisible(false);
}
};
Thread thread = new Thread(task, "My Task");
thread.setDaemon(true);
thread.start();
}
は、あなたのスピナーが最初に表示されていないか、それはそののsetVisibleプロパティを使用した後に表示されていません。
代わりに、あなたは、タスクを開始する直前に、FXのアプリケーションスレッドからの呼び出しを行う必要がありますか? – user55924