1

5行5列のを持っていJTable table1ますが、次のような関数を呼び出すときに、3列目/2行目のセルの背景色を変更したいと思います。

changeBgColor(row、col);

これは可能ですか?

4

1 に答える 1

4

そのために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);
}

上記のセルを除いて、すべてのセルがデフォルトの色になります。

于 2013-01-15T17:16:46.093 に答える