首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javafx 2通知刷新

Javafx 2通知刷新
EN

Stack Overflow用户
提问于 2013-03-05 01:03:49
回答 1查看 748关注 0票数 1

在JavaFX 2中,我要求在标题上显示通知。这些通知通过外部系统填充到数据库中。

当在数据库中插入新的通知时,我的JavaFX应用程序应该侦听相同的通知并刷新标题。

我能想到的一种解决方案是实现一个时间表,它触发代码每固定时间段检索最新的通知状态一次,可能是每2分钟一次。

除此之外,有没有其他方法来实现这一点呢?任何关于这方面的提示都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-05 01:34:43

您可以创建一个新的Task来监听(或检查)数据库中的更改。此Task将在不同的Thread中运行,以避免阻塞您的UI。一旦发生更改,它就可以更新您的UI。

您的代码可能如下所示:

代码语言:javascript
复制
//... initialize your variables.
task = new DatabaseWatcher();
executor = Executors.newSingleThreadExecutor();
executor.execute(task);

和你的DatabaseWatcher

代码语言:javascript
复制
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.
            }
        });
    }
}

这应该会让你走上正确的道路。

另请参阅

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15206932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档