2012-09-13 20 views
0

我使用xml來保存有關UI元素的數據。例如,我有一個代表JButton的標籤, - 對於JMenuItem,我在Java SAX類的幫助下處理它們。但我想用這樣的動作來構建我的UI元素:如何使用XML存儲Action項並通過swing獲取?

然後我會處理這樣的標記並構建我想要的。但是我在向這個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鍵:值參數的想法。在xml中?

回答

0

可能是這嗎?

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

該操作可以通過反射實例化。然而,只有在動作沒有任何依賴關係的情況下才有效。 如果它變得太複雜,可能可以使用spring

+0

並使用反射來處理它? – Dragon

+0

@Dragon:也許通過JAXB。 –

相關問題