簡體   English   中英

JTable,JComboBox動態值

[英]JTable, JComboBox dynamic values

我有JTable 在其中我有幾列。 在其中3個我有JComboBox (每個列的每個單元格都有唯一的JComboBox - 即整個第1列 - “apple”,“bannana”;第2列 - “紅色”,“藍色”;第3列 - “貓”,“狗” )。 在程序開始時我希望它們是空的。 在幾個動作事件之后,我正在填補他們。 問題是,為每個列添加相同值的JComboBox是不夠的。 因為在將JComboBoxJTable ,你必須實現TableCellRenderer並擴展DefaultCellEditor ,否則你不能在表中看到JComboBox ,除非你點擊它( TableCellRenderer錯誤)或代替comboBox你只得到單元格中的Object.toString()行( DefaultCellRenderer故障)。 那么我應該如何處理JComboBoxTableCellRendererDefaultCellEditor這樣我就可以動態地改變JTable中整個JComboBox值。

還有一件事你應該考慮。 它正在使用一個模型。 該模型將舉行蘋果和香蕉以及貓和狗。 JTable和JComboBox分別具有AbstractTableModelComboBoxModel 查看教程中的示例。

請閱讀使用組合框作為編輯器 ,因為JTable也知道渲染器和編輯器的JComboBox, 這里有示例,以及關於EachRowEditor的示例

在我看來,你必須覆蓋TableCellRenderer和DefaultCellEditor以返回相同的JComboBox。 因此,您可以將一個JComboBox作為參數傳遞給TableCellRenderer和DefaultCellEditor,然后通過所述類的getRenderer或getEditor例程返回該JComboBox。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM