ホームページ > Java > &#&チュートリアル > JTable の行の背景色を更新するにはどうすればよいですか?

JTable の行の背景色を更新するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-14 05:40:10
オリジナル
230 人が閲覧しました

How to Refresh Background Color for a Row in JTable?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート