24

テーブル ビューを使用して、「キー = 値」のペアをレンダリング/編集しようとしています。したがって、テーブルには「キー」と「値」の2つの列があるはずです。キーは通常の文字列で、値は何でもかまいません。私の問題は、値のデータ型が行ごとに異なる可能性があることです。基本的に、ブール値にはチェックボックスを使用し、リストには選択肢を使用したいと考えていました。セルファクトリを設定することにより、チェックボックスまたは選択肢を使用してテーブル列全体をレンダリングする方法を見つけました。

final TableColumn<FieldValue, Field> valueColumn = new TableColumn<>("Value");
valueColumn.setCellFactory(new Callback<TableColumn<FieldValue, Field>, TableCell<FieldValue, Field>>() {
    @Override
    public TableCell<FieldValue, Field> call(final TableColumn<FieldValue, Field> column) {
        // if (value instanceof Boolean)
        return new CheckBoxTableCell<>();
    }
});

しかし、私が必要としているのは、セル内にレンダリングされる項目のタイプに基づいて条件を挿入できることです。つまり、列レベルではなく、セル レベルのセル ファクトリです。そして、レンダリング時に私の状態を評価します。私はまだそれに対する解決策を見つけていません。この種のレンダリングを実装するための適切なテクニックを誰かが持っているのではないでしょうか? たぶん、サードパーティのデータグリッドですか?

4

1 に答える 1