java - 将 MVC 模型与 Swing 应用程序框架结合使用

标签 java model-view-controller swing swing-app-framework

我正在尝试使用 Swing 应用程序框架和 MVC 模型创建一个简单的 Java 桌面应用程序,但我在某些领域苦苦挣扎,因为缺乏好的示例(我找到的唯一 SAF 示例除了MVC!)。

我设法从组件触发事件,但除此之外,我很难将 MVC 模型与 SAF 一起使用。任何地方都有例子吗?

例如,我在查看器中触发一个事件(用@Action 映射),该事件将它发送到 Controller 。但是我应该使用哪个功能呢?我的 AbstractController 扩展了 PropertyChangeListener。

如何使用 SAF 进行双向绑定(bind)(模型 -> Controller 和 View -> Controller )?

最佳答案

我可以推荐这篇文章:A Swing Architecture Overview .

例如,当使用 JTable( View )时,您通过扩展 AbstractTableModel 创建模型,并通过 Actions 和监听器处理用户事件。

用户可以在 JTextField 中写入一些文本,然后您将一个 Action 绑定(bind)到一个“Add”-JButton。您的 Action 实现 actionPerformed(),您可以在其中调用模型中的 Add 方法来添加文本。在 Add 方法中,您保存数据然后调用 fireTableRowsInserted(), View 将被更新。

默认情况下,Swing 组件通常包含一个模型和一个 View 。

编辑: 抱歉,不了解 Swing 应用程序框架。我的回答只是针对 Swing。

关于java - 将 MVC 模型与 Swing 应用程序框架结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239798/

相关文章:

java - Spring Boot jsp文件未找到错误404奇怪的前缀

java - 在Web项目中,我们可以在不了解UI的情况下编写核心服务层吗?

asp.net-mvc - 如何将 ActionLink 与 RouteValueDictionary 一起使用?

ios - UITableView 的实现,遵循 MVC 模式

Java - 在没有窗口的情况下将组件或图像绘制到屏幕上

java - 滚动时 JTree 严重模糊

java - 2个文件中的词频统计

java - 在 SSL url 上运行 Karate 时如何修复 'Unexpected end of ZLIB input stream' 错误

javascript - 从父级访问 Angular 1.x 组件属性

Java7u40 中的 javax.swing.Timer 变慢