0

私のテーブルモデルでは、チェックボックスが最初の列に表示されるようBoolean.classに戻ります。getColumnClass最後のセル([合計]の横)を除く最初の列のすべてのセルにチェックボックスを追加することはできますか?スクリーンショットを参照してください。ありがとう!

ここに画像の説明を入力してください

4

1 に答える 1

2

もちろん、次TableCellRendererのように最後の行と最初の列をレンダリングするときに null を返すa を実装するだけで済みます。

public class CustomTableCellRenderer implements TableCellRenderer {

    private final TableCellRenderer decorate;

    public CustomTableCellRenderer(final TableCellRenderer decorate) {
        super();
        this.decorate = decorate;
    }

    public Component getTableCellRendererComponent(final JTable table, final Object value,
            final boolean isSelected, final boolean hasFocus, final int row, final int column) {
        if (column == 0 && row == table.getRowCount() - 1) {
            return null;
        }
        return decorate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
}

次のようなこの実装のインスタンスを使用して、ブール値セルの CellRenderer を設定する必要があります。

    TableColumn column = table.getColumnModel().getColumn(0);
    column.setCellRenderer(new CustomTableCellRenderer(table.getDefaultRenderer(Boolean.class)));

この実装では、最後の行/最初の列は空で表示されます。

于 2012-06-21T18:01:02.747 に答える