我正在使用swing API在Java中开发一个独立的应用程序。在以下情景中我需要专家指导。
我有一个显示员工信息的用户界面。
菜单中有四个操作,如add emp,edit emp,view emp,delete emp。
我想对所有四个动作使用相同的GUI。
我设计了一个为上面创建GUI的类;我使用Singleton设计模式来构建GUI。
视所选操作而定;在GUI中,一些组件被禁用或删除或添加更多,然后GUI被构建并显示给用户。
我正在考虑将描述操作的字符串传递给GUI construncor,然后执行与componants相关的上述操作。但是因为我使用了Singleton Design模式,所以不可能。
在上述情况下,我应该怎么做才能完成我的所有要求? 您建议我使用哪种设计模式用于上述场景以及构建GUI?
请指导我的专家!
答案 0 :(得分:2)
创建一个EmployeeModel类以保留employee的所有字段。再添加一个字段,例如int或enum以保持所需的操作。
在JDialog(或JFrame)中检查操作字段,并根据操作显示按钮和/或启用表示字段的禁用控件。
答案 1 :(得分:1)
使用以下操作创建枚举:
public enum Operation{
ADD, EDIT, VIEW, DELETE
}
在你的GUI中创建一个方法:
public void setOperation(Operation op){
case ADD: ...
case EDIT: ...
case VIEW: ...
case DELETE: ...
}
其他选择是具有一种GUI继承:
abstract class EmployeeView
class AddEmployeeView extends EmployeeView
class EditEmployeeView extends EmployeeView
class ViewEmployeeView extends EmployeeView
class DeleteEmployeeView extends EmployeeView
因此,您的抽象类将具有必需的字段,子类将仅启用/禁用它们。
答案 2 :(得分:1)
HTH 杰罗姆