0

GlazdJTable のセルを編集可能にする方法を示すコード行をドロップできますか?

JTable table = new Jtable();
    TableFormat tableFormat = GlazedLists.tableFormat(properties, headers);
    model = new EventTableModel<Artikel>(filterList, tableFormat);
    selectionModel = new EventSelectionModel<Artikel>(filterList);

    table.setSelectionModel(selectionModel);
    table.setModel(model);

//テーブル セルを編集可能に設定するには?

注: TableFormat は WritableTableFormat インターフェイスを実装する必要があることを知っています。しかし、カスタム テーブル フォーマットを作成する必要があるかどうかはわかりません。または、JTable セルを JTable のように編集可能に設定することは可能です。

4

2 に答える 2

2

TableModel'sメソッド をオーバーライドpublic boolean isCellEditable(int rowIndex, int columnIndex)して、編集可能なセルに対して true を返し、残りのセルに対して false を返します。

于 2012-06-06T10:10:13.843 に答える
1

推奨される方法は、WritableTableFormatを使用することです。EventTableModel は、テーブル形式が WritableTableFormat であるかどうかを確認し、そうである場合は isEditable() の質問をそれに委譲します ( EventTableModel docsで説明されています)。それ以外の場合、EventTableModel はテーブルが編集可能でないと想定します。

現時点では、独自の TableFormat をインスタンス化するのではなく、GlazedLists.tableFormat() 簡易メソッドを使用しています。これで問題ありません。ブール値の配列を渡して各列を編集可能にするかどうかを指定する、まさにこのケースのためのメソッドがあります。GlazedLists.tableFormat(String[] propertyNames, String[] columnLabels, boolean[] editable) ドキュメントを参照してください。

于 2012-06-06T13:55:56.900 に答える