簡體   English   中英

如何更改JTable中已編輯單元格的背景顏色?

[英]How to change background color of an edited cell in JTable?

我到處搜索,但似乎仍然找不到我的問題的答案。 我已經閱讀了有關單元格渲染器和單元格編輯器的所有內容,但還是不知道...我有一個JTable,我想確保用戶清楚地看到他們正在編輯哪個單元格。 默認情況下,JTable中的已編輯單元格會獲得較暗的邊框,但是我想將背景設置為綠色。 選中后可以將其設置為綠色,但是一旦我開始輸入數據,綠色背景就會消失,而我正在寫入一個白色單元格。

您能幫我找到一種即使在輸入數據時也保持單元格背景為綠色的方法嗎?

首先,獲取表格的默認選擇背景顏色:

Color color = UIManager.getColor("Table.selectionBackground");

其次,覆蓋此示例中所示的prepareEditor() ,並將編輯器組件的背景色設置為匹配:

@Override
public Component prepareEditor(TableCellEditor editor, int row, int col) {
    Component c = super.prepareEditor(editor, row, col);
    c.setBackground(color);
    return c;
}

附錄:在技術上正確無誤,但請注意,編輯器組件的顏色通常在激活時由相應的UI委托管理。 不幸的選擇可能會導致對比度差和可用性受損。 必須對目標外觀進行徹底測試。

暫無
暫無

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

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