2011-02-10 18 views
1

我有一些類和字段和getter/setter類,我想在Swing應用程序中顯示類的字段。使用Swing在GUI中顯示類內容

每個字段的名稱應顯示在Label中,並且值應根據值的類型顯示。即String使用TextFieldList使用ComboBox等。

一個難點是該類可以包含字段,這也需要以這種方式進行處理。

有沒有推薦的/標準的做法呢?

我看了一下java.beans,但我不確定它是不是主要在類是Swing組件本身時使用。

回答

4

另一種選擇是使用L2FProd中的PropertySheet組件。從你的描述,它應該做你想要的。

它沒有更新很長時間,但效果很好。

enter image description here

2

我不認爲有一種自動化的方式來實現這一點。事實上,我認爲你可能會錯誤地接近它。如果List包含字符串以外的對象,例如JComboBox如何解決這個問題?我建議只使用JTable並將名稱放在第一列,將值放在第二列。

2

您可以將@Annotations添加到您要檢查並顯示在GUI中的字段。在任何情況下,您都必須使用反射來訪問並找到想要顯示的所有字段。我認爲你必須添加一個自定義邏輯到數據綁定,它檢查給定類的字段(可能使用@Display註釋或類似的東西過濾)。

這應該很容易實現,您可以依賴POJO Bean定義並訪問getter/setter上的所有字段,不要忘記緩存處理的類以避免類的循環依賴。

我希望這會有所幫助。

0

ReflectionUI。它可以通過反射顯示原始值對象和列表。它適用於getter/setter屬性。

+0

不要只提供一個鏈接,但請在這裏添加更多的細節。 – abarisone 2015-04-26 15:57:52