作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,用户可以为一些参数选择“分布类型”,然后我创建图表并将其显示给他。这些分布有 3 种不同类型,每种都有自己的参数(如 alpha、beta、概率等)。每个参数可以具有这些分布中的任何一个。
下面的屏幕截图可以清楚地表明我想要描述的内容:
分布选项包含在 CardLayout 中,由组合框控制。
当用户按下按钮时,我需要实例化适当的域对象以进行分发。现在,我只是将 ComboBox 项(这是枚举)和 CardLayouted 面板传递给工厂,该工厂选择正确的子面板并实例化正确的对象。但传递 gui 对象似乎是错误的,也使得工厂在任何其他情况下都毫无用处。
但我想不出更好的方法来实例化正确的对象。可能只是一个想法:
所有建议将不胜感激!
最佳答案
Swing 通常对 MVC 以及将数据从域对象推送或拉出到输入/显示控件有良好的支持。我要做的是:
使用“空白”域对象作为其 GUI 模型来实例化放入 CardLayout 的面板。 (或者某种可以从另一层检索模型的定位器。)然后在输入组件上连接更改通知,当输入中的值发生更改时,该更改通知将更新域对象。
然后,当涉及到持久化域对象时,只需从表单面板中检索它即可。
如果需要在两个控件中显示相同的模型值,它们应该共享相同的模型。如果您需要对从代码的较低层显示的对象进行更新,除了域对象之外,您还应该对模型而不是/进行更新。
关于Java:从 GUI 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861590/
我是一名优秀的程序员,十分优秀!