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

JTable の個々の行の背景色を動的に変更するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-15 10:50:02599ブラウズ

How can I dynamically change the background color of individual rows in a JTable?

JTable の行の背景色を更新する

Swing では、JTable クラスは表形式データを表示および操作する柔軟な方法を提供します。 。行と列のプロパティを利用することで、開発者は個々の行の背景色など、テーブルのさまざまな側面を簡単にカスタマイズできます。

動的な行の色付けを実現するには、TableModel を拡張するカスタム テーブル モデルを作成できます。そして prepareRenderer メソッドをオーバーライドします。このメソッドは、テーブルに表示される前にセルの外観を設定する役割を果たします。

提供されたコード例では、myTableModel クラスは AbstractTableModel を拡張し、resetTable()、setColumnNames()、addRow()、およびremoveRowAt()メソッド。さらに、rowColor と呼ばれる HashMap を使用して行固有の色を保存し、行ごとに異なる色を設定できるようにします。

colorTable() クラスは JTable を拡張し、setRowColor()、setColumnColor()、 setCellColor() メソッドとresetColor() メソッド。これらのメソッドを使用すると、特定の行、列、またはセルの色を指定したり、すべての行を特定の背景色にリセットしたりできます。

使用例では、deployTable オブジェクトはカスタム myTableModel で初期化されます。 Revalidate() メソッドは、背景色の変更後にテーブルを更新するために呼び出されます。

背景色を動的に変更するには、colorTable.resetColor() と colorTable.setRowColor() をトリガーするボタン アクション リスナーを使用できます。 ) メソッド。これにより、行インデックスや特定のセルの値などの特定の基準に基づいて行の背景色を繰り返し設定できます。

カスタム テーブル モデルで prepareRenderer メソッドをオーバーライドし、rowColor HashMap を利用することで、を使用すると、JTable の個々の行の背景色をプログラムで設定および変更できるようになり、データ視覚化の柔軟性が向上します。

以上がJTable の個々の行の背景色を動的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。