从XML文件动态创建表单-JFrame Java Swing

从XML文件动态创建表单-JFrame Java Swing,java,xml,swing,dynamic,jframe,Java,Xml,Swing,Dynamic,Jframe,我需要一个JavaSwing工具,它将基于XML文件动态构建表单,然后编写一个新的XML文件。XML文件包含字段类型和值等信息 例如,该工具将读取定义用户名、id和登录名文本框的XML。表单会显示此信息,当单击save按钮时,它会将每个字段的用户输入值保存到一个新的XML文件中 这是一个非常简单的工具,我猜可能已经有了一些东西。有人知道类似的例子吗 编辑:(添加了XML文件示例) 要读取的传入XML文件: [XML] [PARAMS] [PARAM] [LABEL]Ent

我需要一个JavaSwing工具,它将基于XML文件动态构建表单,然后编写一个新的XML文件。XML文件包含字段类型和值等信息

例如,该工具将读取定义用户名、id和登录名文本框的XML。表单会显示此信息,当单击save按钮时,它会将每个字段的用户输入值保存到一个新的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);
}
Frame.xml
窗口
750
150
符合事实的
CreateFrame.java
if(key.equals(“ui_类型”)){
jFrame=新的jFrame();
}
if(键等于(“ui_宽度”)){
宽度=整数.parseInt(值);
}
if(键等于(“ui_高度”)){
//高度=屏幕大小。高度;
高度=整数.parseInt(值);
jFrame.setSize(宽度、高度);
}
if(key.equals(“ui_可见”)){
jFrame.setVisible(true);
}

既然您认为它很简单,为什么不编写将用作输入的XML和希望用作输出的XML,并将XML文件添加到您的问题中?我想我以前听说过类似的事情,但是现在找不到任何引用。看看有没有关于如何动态创建JFrame的示例?