我试图找到一个类似的查询,但不能因此iam发布此。 我的工作已经作出了一些类似的JButton,JComboBox的等组件的GUI Swing应用程序基于一些业务逻辑在运行时显示/隐藏摆动组件的良好设计模式
我有,我有以下的情况
- 常见的一个重要的商业案例组件集应该在任何时候都可以看到
- 中的组件集这并不适用于一定的情况下应该被隐藏
- 的一套适用应显示在除了什么共同组成的
- 有一个要求,我将不得不在JavaFX中重做此应用程序,因此有一种方法可以使此代码独立于Swing技术,这是非常好的。
方法1:在GUI类中有单独的方法来隐藏/取消隐藏组件,并让视图/控制器根据场景来处理它。然而,这取决于视图,并且必须从头开始编写,一旦我移动到JavaFX
方法2:定义一个规则集,它基本上包含可以隐藏的类的属性名称并让它一段常见的代码通过利用反射来隐藏/取消隐藏它。这与使用的视图技术的类型无关。 但是,在代码审查过程中反射的使用总是引起人们的注意,因为推荐的做法是尽量避免使用它,因此要让人们相信它有点困难。
在这种情况下,在复杂性与代码重用与涉及的工作方面使用什么方法是一种好方法? 也有一种设计模式,可以在这种情况下有所帮助吗?
感谢您的帮助!
*“有一个要求,我将不得不在JavaFX中重做此应用程序,因此..”* ..它几乎与Swing无关。 – 2014-12-04 07:03:29
@AndrewThompson:如果我决定使用第一种方法,我会重写代码来隐藏组件,这就是我所指的。对于ex comp1.setVisible(false)将不得不为所有此类组件重写 – 2014-12-04 07:11:23
如果它是Swing,则使用“Action”对象,如果不相关则禁用它们。 – 2014-12-04 07:16:20