JTable の行の背景色を更新する
Swing JTable を使用する場合、次を使用して個々の行の背景色を設定できます。カスタムセルレンダラー。 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 メソッドを呼び出して行に異なる背景色を指定できるようにします。これは、テーブル内の個々の行のステータスや重要性を視覚的に示すのに役立ちます。
行の色のリセット
すべての行の背景色をデフォルトにリセットするにはcolor を指定するには、次のようなメソッドを使用できます。
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 中国語 Web サイトの他の関連記事を参照してください。