5行5列のを持っていJTable table1
ますが、次のような関数を呼び出すときに、3列目/2行目のセルの背景色を変更したいと思います。
changeBgColor(row、col);
これは可能ですか?
そのためにprepareRendererメソッドをオーバーライドします。
例:
public Component prepareRenderer (TableCellRenderer renderer, int rowIndex, int columnIndex){
Component componenet = super.prepareRenderer(renderer, rowIndex, columnIndex);
if(rowIndex % 2 == 0) {
componenet.setBackground(Color.RED);
} else {
componenet.setBackground(Color.GREEN);
}
return componenet;
}
ここではRED
、偶数の位置にあるすべての行をとして、奇数の位置にあるすべての行をとして色付けしていGREEN
ます。
あなたの問題が考慮される限り。同じアプローチを使用して、次のような制約を使用します。
if(rowIndex == 2 && columnIndex == 3) {
componenet.setBackground(Color.RED);
}
上記のセルを除いて、すべてのセルがデフォルトの色になります。