我有一些類和字段和getter/setter類,我想在Swing應用程序中顯示類的字段。使用Swing在GUI中顯示類內容
每個字段的名稱應顯示在Label
中,並且值應根據值的類型顯示。即String
使用TextField
,List
使用ComboBox
等。
一個難點是該類可以包含字段,這也需要以這種方式進行處理。
有沒有推薦的/標準的做法呢?
我看了一下java.beans
,但我不確定它是不是主要在類是Swing組件本身時使用。
我有一些類和字段和getter/setter類,我想在Swing應用程序中顯示類的字段。使用Swing在GUI中顯示類內容
每個字段的名稱應顯示在Label
中,並且值應根據值的類型顯示。即String
使用TextField
,List
使用ComboBox
等。
一個難點是該類可以包含字段,這也需要以這種方式進行處理。
有沒有推薦的/標準的做法呢?
我看了一下java.beans
,但我不確定它是不是主要在類是Swing組件本身時使用。
我不認爲有一種自動化的方式來實現這一點。事實上,我認爲你可能會錯誤地接近它。如果List包含字符串以外的對象,例如JComboBox如何解決這個問題?我建議只使用JTable
並將名稱放在第一列,將值放在第二列。
您可以將@Annotations
添加到您要檢查並顯示在GUI中的字段。在任何情況下,您都必須使用反射來訪問並找到想要顯示的所有字段。我認爲你必須添加一個自定義邏輯到數據綁定,它檢查給定類的字段(可能使用@Display
註釋或類似的東西過濾)。
這應該很容易實現,您可以依賴POJO Bean定義並訪問getter/setter上的所有字段,不要忘記緩存處理的類以避免類的循環依賴。
我希望這會有所幫助。
有ReflectionUI。它可以通過反射顯示原始值對象和列表。它適用於getter/setter屬性。
不要只提供一個鏈接,但請在這裏添加更多的細節。 – abarisone 2015-04-26 15:57:52