2015-03-13 83 views
-1

我想用一個函數來擴展DefaultTableModel類,讓我設置特定行的顏色。所以我們可以說我有一個有30行的表格,並且想用紅色對第12行進行着色。將「setRowColor」方法添加到DefaultTableModel

我想調用的功能等:

JTable table = new JTable(); 
DefaultTableModel model = new DefaultTableModel(); 
table.setModel(model); 

[...]

model.setRowColor(12, Color.RED); 

[...]

我知道有關於許多類似的問題主題「顏色JTable行」,但我無法實現任何這些解決方案。也許somebode可以幫助我理解自定義渲染器以及如何實現我的自定義方法。

+1

有兩種方法1. prepareRenderer(在API中實現的最簡單的方法和方法),在裝飾品取決於存儲在DefaultTableModel中的值的情況下,2.將顏色數組作爲模型中的一部分存儲在模型中來自GUI – mKorbel 2015-03-13 06:27:57

+0

的其餘部分的參數與down_voter一致,這裏是許多SSCCE/MCVE形式的代碼,我認爲,確保鏈接線程保護您的問題,顯示您的努力 – mKorbel 2015-03-13 06:31:20

+0

'TableModel'不負責執行此操作,讓渲染器去做......或者使用SwingLabs SwingX庫中提供突出顯示功能的'JXTable' – MadProgrammer 2015-03-13 06:38:06

回答

0

如果包含布爾值的單元格爲真(選中),則相應的行應爲綠色。

Table Row Rendering顯示瞭如何根據行中的值對行進行着色。