java - 与 Guice 一起 Swing

标签 java user-interface swing guice

我已经将 Guice 用于我的应用程序的数据模型,到目前为止我对它非常满意。然而,GUI部分即将变成一个大泥球。我发现这里很难使用 Guice,因为 Swing 组件和模型是紧密耦合的,并且经常强制执行特定的初始化顺序。

我的应用程序基本上由一个带有许多过滤器的标题、一个中央且相当复杂的 JTree 组件以及许多操作(例如来自 JPopup)、菜单、对话框、向导等组成。主要问题是我有组件和操作之间有很多耦合(例如复杂的验证、树更新……)。你能给我一些关于如何使用 Guice 构建 GUI 的建议吗?

我知道像 GUTS 这样的库,但文档真的很薄,我宁愿避免向我的项目添加另一个依赖项并学习另一个 API(例如,我不知道 Swing 应用程序框架)。

最佳答案

我宁愿建议一个合适的 MVC,甚至更好 Presentation Model - 查看 - Controller 。适本地分离您的代码,Guice 将自然地适应。例如:

View 类应该有一个构建部分来绘制静态内容(标签、树、按钮等)和更新代码以响应演示模型中的变化。所有的 Action 监听器都应该调用 Controller 上的一些代码。 Presentation Model 和 Controller 都应该由 Guice 注入(inject),就像所有其他依赖项一样。

这个组织将允许通过用一些测试代码替换 View 来进行简单的测试,这些测试代码将监听演示模型中的更改并调用 Controller 上的操作。

关于java - 与 Guice 一起 Swing ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144270/

相关文章:

java - java中的文字纠错程序

java - 学习Java,希望能够从网站上查看类(class)

python - Kivy 小部件隐藏在 Windows 标题栏下

java - 我可以在没有 GWT 支持的情况下使用 WindowBuilder(Java 可视化编辑器 Eclipse 插件)吗?

java - 更改 JLabel 的一部分的字体?

c# - 将 Jar 嵌入到 C# 表单中

java - JToolBar/JMenu位置重叠

java - 从 Action 监听器中开始游戏

JavaFx tableview 排序真的很慢如何提高 java swing 中的排序速度

java - java中CardLayout的父级错误