我在經常由不同線程更新的框架中有JTable
。我正在尋找方法來改變JTable
,不論其內容的單元格的背景顏色,像無條件地更改JTable單元格的背景顏色
JTable.setColorAt(Color.YELLOW, 0, 0)
有像什麼這個存在嗎?如果沒有,是否有像這樣爲像我這樣的初學者寫這樣的東西的方法?
請幫忙.............
我在經常由不同線程更新的框架中有JTable
。我正在尋找方法來改變JTable
,不論其內容的單元格的背景顏色,像無條件地更改JTable單元格的背景顏色
JTable.setColorAt(Color.YELLOW, 0, 0)
有像什麼這個存在嗎?如果沒有,是否有像這樣爲像我這樣的初學者寫這樣的東西的方法?
請幫忙.............
定義自己的單元格渲染器類設置背景顏色像這樣
public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
cellComponent.setBackground(java.awt.Color.YELLOW);
return cellComponent;
}
}
細胞,並將其連接到您的表
MyCellRenderer mcr = new MyCellRenderer();
for (int columnIndex = 0; columnIndex < myTable.getColumnCount(); columnIndex ++) {
myTable.getColumnModel().getColumn(columnIndex).setCellRenderer(mcr);
}
感謝您的幫助 對不起,從我身邊拖延了很久,我陷入了兩週的困境......。 。我通過添加條件嘗試了這一點,但單元格顏色只在選中時纔會更改。任何建議? – gnmanoj 2013-03-20 14:46:16
您的問題被標記爲重複,並指定了其他問題的鏈接。也看看這個。在這裏討論'prepareEditor'。 – 2013-03-20 14:52:56
@Audrius:它是相似的,但不是重複的。該鏈接需要更改編輯的單元格的背景,而不是所有單元格。 – 2013-03-02 17:34:04
沒有問題看@Ravindra Gullapalli的回答,有構造函數Object value,boolean isSelected,boolean hasFocus,int row,int column,每個參數都是關於你的問題尤其是int row,int column,那麼只測試'conditions == int row' &&'conditions == int column' then'setBackground(Color.YELLOW)' – mKorbel 2013-03-02 18:47:05