-1

JTableさまざまなスレッドによって頻繁に更新されるフレーム内にあります。JTable内容に関係なく、セルの背景色を変更する方法を探しています。

    JTable.setColorAt(Color.YELLOW, 0, 0)

このようなものは存在しますか?そうでない場合、私のような初心者のためにこのようなものを書く方法はありますか?

助けてください.............

4

1 に答える 1

4

このようにセルの背景色を設定する独自のセル レンダラー クラスを定義します。

public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
    public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        cellComponent.setBackground(java.awt.Color.YELLOW);
        return cellComponent;
    }
}

そしてそれをあなたのテーブルに取り付けます

MyCellRenderer mcr = new MyCellRenderer();
for (int columnIndex = 0; columnIndex < myTable.getColumnCount(); columnIndex ++) {
            myTable.getColumnModel().getColumn(columnIndex).setCellRenderer(mcr);
        }
于 2013-03-02T17:32:00.327 に答える