1

JavaFX 2には、ヘッダーに通知を表示する必要があります。これらの通知は、外部システムを介してデータベースに入力されます。

新しい通知がデータベースに挿入されると、JavaFXアプリケーションは同じ通知をリッスンし、ヘッダーを更新する必要があります。

私が考えることができる1つの解決策は、コードをトリガーして最新の通知ステータスを一定期間ごとに1回(2分ごとに1回)取得するタイムラインを実装することです。

これ以外に、これを達成する方法はありますか?これに関するヒントをいただければ幸いです。

4

1 に答える 1

2

Taskデータベースの変更をリッスン(またはチェック)する新しいものを作成できます。これは、UIをブロックしないようにTask別の方法で実行されます。Thread変更が発生すると、UIを更新できます。

コードは次のようになります。

//... initialize your variables.
task = new DatabaseWatcher();
executor = Executors.newSingleThreadExecutor();
executor.execute(task);

そしてあなたのDatabaseWatcher

public class DatabaseWatcher extends Task<Object> {
    public DatabaseWatcher() {
        //initialize here
    }

    @Override
    protected Object call() throws Exception {
        //Get data from database
        //if new update :
        updateUI();
        return null;
    }

    private void updateUI() {
        
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                //Set your new values in your UI
                //Call the method in your UI to update values.
            }
        });
    }
}

これにより、正しい道を歩み始めることができます。

関連項目

于 2013-03-04T17:34:42.517 に答える