現在、私は現在7つの列と多数の行のデータからなるJTableを持っています。JTableの列内の色のセル
第7列の各セルにどのように色付けするのですか?セル内のデータに応じて色付けしたい。
ので、第七列のセルのいずれかが0を下回ると言った場合、私は赤い色にしたいか、7列のセルの1等
感謝緑以上の0、そして色をした場合あなた
現在、私は現在7つの列と多数の行のデータからなるJTableを持っています。JTableの列内の色のセル
第7列の各セルにどのように色付けするのですか?セル内のデータに応じて色付けしたい。
ので、第七列のセルのいずれかが0を下回ると言った場合、私は赤い色にしたいか、7列のセルの1等
感謝緑以上の0、そして色をした場合あなた
TableCellRendererを使用して、テーブル内の個々のセルのカスタムスタイルを作成できます。このtutorialについて詳しく説明しています。このページには、必要な開始点であるかもしれないカラーレンダラーを使用する例があります。
prepareRenderer()
メソッドをオーバーライドすると、テーブルオブジェクトを初期化し、それに応じて色を変更する特定の条件を設定すると、定義された色の変更がアプリケーションに反映されます。あなたはグローバルJTableの変数table
を持っていると仮定してmodel
があなたのDefaultTableModelのインスタンスになりましょう:
table = new JTable(model)
{
public Component prepareRenderer (TableCellRenderer r, int row, int col)
{
Component comp = super.prepareRenderer(r, row, col);
if (col == 6 && !isCellSelected(row, col))
{
if (table.getValueAt(row, col) < 0)
comp.setBackground(Color.RED);
else
comp.setBackground(Color.GREEN);
}
return comp;
}
};
あなたは列のインデックス6に対応して第七列を、色付けしたいので、上記のコードは、(それが0から始まる)col == 6
をチェックして。内部のifステートメントでは、セルの値をチェックし、それに応じてセルの背景色を変更します。
@deporter Ehhh ..(うわべ)私はちょうど次の質問に進みます。 –
@AndrewThompsonあなたは正しいです。 – Juvanis
申し訳ありません、私はちょうど今からそうする方法を学びました。 –