如何在XML中存储Action项并通过swing获取它?

时间:2012-09-13 11:56:37

标签: java swing

我使用xml来保存有关UI元素的数据。例如,我有一个代表JButton的标签, - 对于JMenuItem,我在Java SAX类的帮助下处理它们。但我想使用Action构建我的UI元素:

然后我将处理这样的标签并构建我想要的东西。但我有一个问题,即向此Action对象传递不同数量的选项。在一种情况下,我想传递名称:

putValue(NAME, "Element name");

在另一种情况下,它将是:

putValue(NAME, "Some name");
putValue(SHORT_DESCRIPTION, "Tooltip");
putValue(MNEMONIC_KEY, new Integer('A'));

在代码中它看起来像:

class NewAction extends AbstractAtion {
    public NewAction() {
            putValue(NAME, "Some name");
            putValue(SHORT_DESCRIPTION, "Tooltip");
            putValue(MNEMONIC_KEY, new Integer('A'));
    }
}

但是如何用xml做呢?有关于如何存储和处理不同数量的Action键的任何想法:值args。在xml?

1 个答案:

答案 0 :(得分:0)

可能是这个吗?

<action type="NewAction">
    <property>
        <name>NAME</name>
        <value>Some name</value>      
    </property>
    <property>
        <name>SHORT_DESCRIPTION</name>
        <value>Tooltip</value>      
    </property>
    ...
</action>

可以通过反射实例化该动作。但是,只有当操作没有任何依赖关系时,它才有效。 如果它变得太复杂,你可以使用spring