如何使用註釋在Java中創建JTable?我想要做這樣的事情:JTable table = new JTable(Products.class)。我可以嗎? Where Products是一個具有多個屬性的類,如:id,price,productName。帶Java註釋的JTable
0
A
回答
-1
有一個在CodeProject上的好文章和源代碼這一點: http://www.codeproject.com/Articles/36170/Simple-and-Powerfull-TableModel-with-Reflection
有沒有這樣的標註自帶的Java運行時(至少目前如此)。你可以實現你自己的方法。
定義的註釋標記您的列給定對象:
class Product {
@TableColumn(name="Product Name", index=0)
String productName;
....
}
創建一個新的TableModel類:
你想在你的模型對象與此註釋顯示public @interface TableColumn {
String name();
int index();
}
馬克領域 - 你可以從DefaultTableModel繼承並檢查給定對象的給定註解。
class ObjectTableModel extends DefaultTableModel {
private Object[] objects;
private String[] columns;
public ObjectTableModel(Object[] objects) {
Field[] fields = Object.class.getDeclaredFields();
for (Field field : fields) {
if (field.isAnnotationPresent(TableColumn.class)) {
//Add field to the list
}
}
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
//return the value from objects[rowIndex] with
}
@Override
public int getRowCount() {
return objects.length;
}
@Override
public int getColumnCount() {
return columns.length;
}
@Override
public String getColumnName(int column) {
return columns[column];
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return columnClasses[columnIndex];
}
}
相關問題
- 1. 帶Java註釋的「Hello World」
- 2. Java註釋處理器,帶註釋的註釋類型
- 3. 在java中強制註釋字段包含帶註釋的類
- 4. 的Java註釋掃描帶彈簧
- 5. 帶grails的java註釋處理器
- 6. 查找帶註釋的註釋
- 7. Enum.Parse帶註釋
- 8. 帶註釋的MuleEventContext
- 9. 帶註釋的共享類
- 10. 帶/ ** /?的註釋代碼
- 11. 帶註釋的Symfony2路由
- 12. ggsave()帶註釋後的ggplot()
- 13. 帶聚簇註釋的Mapview
- 14. 帶Bools的數據註釋
- 15. 帶註釋映射的LocalSessionFactoryBean
- 16. 帶有註釋的問題
- 17. 帶JSOUP的HTML註釋
- 18. 帶謂詞的Xpath註釋
- 19. 帶上標的ggplot2註釋
- 20. 帶註釋的帶格式的SQL
- 21. Java註釋方法 - 強制執行至少一個帶註釋的參數
- 22. Java註釋
- 23. Java註釋ElementType.TYPE_USE
- 24. 帶註釋的spring depenency注入
- 25. 注入帶註釋的方法參數
- 26. 無法注入LoadBalanced帶註釋的OAuth2RestTemplate
- 27. 實例化帶有註釋的批註
- 28. Java JTable帶有ImageIcon的TableCellRenderer列
- 29. Java Swing:帶子條目的JTable
- 30. Java - 帶JTable的JScrollPane未顯示
我會更注重從註釋創建自定義TableModel,然後使用該模型創建您的JTable。 –
謝謝。我真的可以使用一些幫助。 – BigFatGoalie
幫助具體什麼?您首先需要將您的大問題分解爲其組成步驟,然後嘗試單獨解決每一步。如果卡住了,那麼請回到這裏,提供一個更具體和可回答的問題。 –