[英]JTable, JComboBox dynamic values
我有JTable
。 在其中我有幾列。 在其中3個我有JComboBox
(每個列的每個單元格都有唯一的JComboBox
- 即整個第1列 - “apple”,“bannana”;第2列 - “紅色”,“藍色”;第3列 - “貓”,“狗” )。 在程序開始時我希望它們是空的。 在幾個動作事件之后,我正在填補他們。 問題是,為每個列添加相同值的JComboBox
是不夠的。 因為在將JComboBox
到JTable
,你必須實現TableCellRenderer
並擴展DefaultCellEditor
,否則你不能在表中看到JComboBox
,除非你點擊它( TableCellRenderer
錯誤)或代替comboBox你只得到單元格中的Object.toString()行( DefaultCellRenderer
故障)。 那么我應該如何處理JComboBox
, TableCellRenderer
和DefaultCellEditor
這樣我就可以動態地改變JTable
中整個JComboBox
值。
還有一件事你應該考慮。 它正在使用一個模型。 該模型將舉行蘋果和香蕉以及貓和狗。 JTable和JComboBox分別具有AbstractTableModel和ComboBoxModel 。 查看教程中的示例。
請閱讀使用組合框作為編輯器 ,因為JTable也知道渲染器和編輯器的JComboBox, 這里有示例,以及關於EachRowEditor的示例
在我看來,你必須覆蓋TableCellRenderer和DefaultCellEditor以返回相同的JComboBox。 因此,您可以將一個JComboBox作為參數傳遞給TableCellRenderer和DefaultCellEditor,然后通過所述類的getRenderer或getEditor例程返回該JComboBox。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.