簡體   English   中英

如何更改JTable中第一個單元格的背景顏色?

[英]How change the background color of first cell in a JTable?

一切都好嗎?

我的Java應用程序中有下表。 通過狀態,他使線條變為某種顏色,如下面的代碼所示。

我想要的是只有第一列是彩色的,其他的則要以默認顏色顯示。

public class PriorityCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column) {
    super.getTableCellRendererComponent(
            table, value, isSelected, hasFocus, row, column);

    //if (Integer.valueOf(1).equals(table.getValueAt(row, 1)) && 0 == column)   && 9 < column)
    if (String.valueOf(1).equals(table.getValueAt(row, 0))) {
        setForeground(Color.BLUE);  // or background
    }
    if (String.valueOf(2).equals(table.getValueAt(row, 0))) {
        setForeground(Color.GREEN);  // or background
    }
    if (String.valueOf(3).equals(table.getValueAt(row, 0))) {
        setForeground(Color.YELLOW);  // or background
    }
    if (String.valueOf(4).equals(table.getValueAt(row, 0))) {
        setForeground(Color.RED);  // or background
    }
    return this;
} 
}

在此處輸入圖片說明

意識到我的問題了嗎?

有人可以幫我嗎?

非常感謝你。

  1. 為目標列設置自定義渲染器:

     table.getColumnModel().getColumn(COLUMN_INDEX).setCellRenderer(new PriorityCellRenderer()); 
  2. getTableCellRendererComponent()驗證列索引if(column == COLUMN_INDEX)

暫無
暫無

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

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