java - 如何用 Java 制作响应式 MVP Swing GUI?

标签 java swing user-interface mvp swingworker

我有一个使用 Java 7 中的 Swing 基于被动 MVP 架构构建的应用程序。我的 Presenter 类执行一些耗时的任务,而我的 View/GUI 仅在事件发生后调用 Presenter 的方法。演示者调用 View 的方法来更新 GUI。

显然,我不希望长时间运行的任务在 EDT 上发生。

我的第一个想法是使用 SwingWorker,但由于它只有一个 doInBackground 方法,我想我必须为 Presenter 中的每个方法实现一个 SwingWorker。 或者我会吗?

是否有一种简单的方法可以使 View/GUI 在 EDT 上运行,而其他所有内容(即 Presenter 的逻辑,无需调用更新 View)在另一个(工作)线程上运行?

最佳答案

您可以当场创建 SwingWorker,并将每个演示者的代码包装在该 SwingWorker 中并按照命令设计模式调用它。当然,问题在于细节,包括代码的详细信息,以及我们现在没有的信息。

关于java - 如何用 Java 制作响应式 MVP Swing GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26703105/

相关文章:

java - 使用 jenkins 运行 selenium 测试用例时出错

java - 使用 WindowFinder 查找模态对话框

java 。 GUI WindowBuilder 通过单击按钮从 JTextField 读取

java - JXTreeTable 模型不允许使用 insertNodeInto()

c++ - 更改 Qt 布局中的调整大小行为

java - 如何使用自定义格式填充 Excel 文档中的单元格

java - Hibernate 尝试向不存在的表插入数据

java - 获取 IgniteCheckedException : Default Ignite instance has already been started exception when enabling Persistence on single Node

c++ - GTK+ 适用于所有平台的相同 UI 主题

java - 有没有什么好的工具可以用来查找 GUI、分解的 Pane 和组件的使用统计信息?