刷新JTable 中的行的背景顏色
使用Swing JTables 時,可以使用以下命令設定各個行的背景顏色自訂單元格渲染器。透過在渲染器類別中實作prepareRenderer方法,您可以根據特定條件或使用者互動操作背景顏色。
考慮以下範例:
public class ColorTable extends JTable { private static final long serialVersionUID = 1L; private Map<Integer, Color> rowColors = new HashMap<>(); @Override public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer(renderer, row, column); if (!isRowSelected(row)) { Color color = rowColors.get(row); if (color != null) { c.setBackground(color); } else { c.setBackground(getDefaultRenderer(getColumnClass(column)).getBackground()); } } return c; } public void setRowColor(int row, Color color) { rowColors.put(row, color); } }
在此範例中,ColorTable類別擴充了 JTable,並讓您透過呼叫 setRowColor 方法來為行指定不同的背景顏色。這對於直觀地指示表中各行的狀態或重要性非常有用。
重設行顏色
將所有行的背景顏色重設為預設值顏色,可以使用以下方法:
public void resetRowColors(Color defaultColor) { rowColors.clear(); setBackground(defaultColor); }
範例用法:
// Create a ColorTable ColorTable table = new ColorTable(); // Add data to the table table.setModel(new DefaultTableModel(new Object[][], new String[]{})); // Set background color for specific rows table.setRowColor(0, Color.GREEN); table.setRowColor(1, Color.RED); // Reset row colors to default table.resetRowColors(Color.WHITE);
透過實作自訂儲存格渲染器並提供設定和重設行顏色的方法,您可以根據您的特定要求輕鬆修改JTable 行的外觀。
以上是如何刷新JTable中一行的背景顏色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!