我需要一个java swing工具,它将基于XML文件动态构建一个表单,然后编写一个新的XML文件。XML文件包含字段类型和值等信息。
例如,该工具将读取一个XML,该XML定义了用户名、id和登录名的文本框。表单会显示这一点,当单击保存按钮时,它会将每个字段的用户输入值保存到一个新的XML文件中。
这是一个非常简单的工具,我猜可能已经有了一些东西。有人知道类似的例子吗?
编辑:(添加的XML文件示例)
要读取的传入XML文件:
[XML]
[PARAMS]
[PARAM]
[LABEL]Enter your user id:[/LABEL]
[TYPE]textbox[/TYPE]
[VALUE][/VALUE]
[/PARAM]
[PARAM]
[LABEL]Enter the system id:[/LABEL]
[TYPE]textbox[/TYPE]
[VALUE][/VALUE]
[/PARAM]
[PARAM]
[LABEL]Run all system checks?:[/LABEL]
[TYPE]checkbox[/TYPE]
[VALUE][/VALUE]
[/PARAM]
[/PARAMS]
[/XML]
然后,将根据用户选择生成一个示例输出XML文件。
[XML]
[PARAMS]
[PARAM]
[LABEL]Enter your user id:[/LABEL]
[TYPE]textbox[/TYPE]
[VALUE]johndoe01[/VALUE]
[/PARAM]
[PARAM]
[LABEL]Enter the system id:[/LABEL]
[TYPE]textbox[/TYPE]
[VALUE]system01[/VALUE]
[/PARAM]
[PARAM]
[LABEL]Run all system checks?:[/LABEL]
[TYPE]checkbox[/TYPE]
[VALUE]true[/VALUE]
[/PARAM]
[/PARAMS]
[/XML]
同样,传入的XML可能有多个参数/块。
这是我到目前为止所做的,但仍然需要一些修改,它使用了纯逻辑。我还没有包括我的xml解析器,但我已经创建了读取并返回键和值对象的解析器。
Frame.xml
<ui_login>
<ui_type>
JFrame
</ui_type>
<ui_width>
750
</ui_width>
<ui_height>
150
</ui_height>
<ui_visible>
true
</ui_visible>
</ui_login>
CreateFrame.java
if (key.equals("ui_type")) {
jFrame = new JFrame();
}
if (key.equals("ui_width")) {
width = Integer.parseInt(value);
}
if (key.equals("ui_height")) {
// height = screenSize.height;
height = Integer.parseInt(value);
jFrame.setSize(width, height);
}
if (key.equals("ui_visible")) {
jFrame.setVisible(true);
}