我有一个可以在运行时修改的模型。这里有一个例子:从动态模型生成视图
public class JavaMethod
{
private String name;
private List<Parameter> parameters;
private boolean isConstructor; // this is an example
}
的参数可以有不同的类型(integer
,boolean
,string
,float
...)和不同的有效值。例如,名为年龄的整数参数只能包含正整数。
问题是我想用Swing生成视图来配置JavaMethod
对象,但我不确定正确的方法。
例如,年龄是一个正整数的参数将被链接到延伸JTextField
的类别,以防止输入负的任何字母。另一个整数参数名为numberOfFingers其范围从8到12将链接到延伸JComboBox
的类,该类允许选择该范围内的选项。
我可以通过给Parameter对象生成适当的Swing组件的任务来做到这一点,但我的模型会知道如何生成视图。
什么是这样的模型生成视图的正确方法? 所有我能想到的(没有涉及视图生成的模型)是控制器中的一种巨型开关,通过阅读参数的细节选择好的组件。
感谢
我会搜索“Java属性表”,看看你想出什么 – MadProgrammer 2013-03-19 19:26:14
谢谢,我实际上正在为模型对象制作属性表。 – phil 2013-03-19 20:12:25
按照表/树API的工作原理思考一下。基本上,您想要将渲染器/编辑器组件注册到您的视图中。这将允许视图检查参数类型并决定如何最好地呈现/编辑该值。那么您显然需要决定最佳行为方式来为最常见的数据类型定义默认实现 – MadProgrammer 2013-03-19 20:34:19