我有一个可以在运行时修改的模型。这是一个例子:
public class JavaMethod
{
private String name;
private List<Parameter> parameters;
private boolean isConstructor; // this is an example
}
参数可以有不同的类型(integer
, boolean
, string
, float
...)和不同的有效值。例如,一个名为age的整数参数只能保存正整数。
问题是我想用 Swing 生成一个视图来配置该JavaMethod
对象,但我不确定正确的方法。
例如,作为正整数的年龄参数将链接到一个类扩展JTextField
,以防止输入负任何字母。另一个名为numberOfFingers的整数参数的范围可以从 8 到 12 将链接到一个JComboBox
允许在该范围内选择选项的类扩展。
我可以通过将生成适当的 Swing 组件的任务交给 Parameter 对象来使用多态性来做到这一点,但是我的模型会知道视图是如何生成的。
为这样的模型生成视图的正确方法是什么?我能想到的(不涉及视图生成的模型)是控制器中的一种巨大开关,它通过读取参数的详细信息来选择好的组件。
谢谢