BeanアダプタオブジェクトをTableViewにバインドする際に問題が発生し、そのアダプタプロパティでコンボボックスが作成されます。 3行のJavaFX TableViewは、各行ごとに別々のBeanアダプタを用意しています。どうやって?
lanSpecie.setCellFactory(new Callback<TableColumn<HAUL,Specie>, TableCell<HAUL,Specie>>() {
@Override
public TableCell<HAUL, Specie> call(TableColumn<HAUL, Specie> param) {
TableCell<HAUL, Specie> cell = new TableCell<>();
ComboBox<Specie> comboBox = new ComboBox<>(FXCollections.observableList(specieService.findAllAdded()));
try {
comboBox.valueProperty().bindBidirectional(new JavaBeanObjectPropertyBuilder<Object>().bean(haulBean).name("specie").build());
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
cell.graphicProperty().bind(Bindings.when(cell.emptyProperty()).then((Node) null).otherwise(comboBox));
return cell;
}
});
私のテーブルが追加さ:
を私は1つの要素を変更するたびに、それが自動的に右方向への溶液またはガイドをお探しのすべての3
を変更するので、表は各行要素を新しいHAULオブジェクトとして検索し、各行に対して新しいアダプター・インスタンスを作成します。
そのコードの「運搬ビーン」?すべてのコンボボックスの値を1つのプロパティにバインドしているようです。標準['ComboBoxTableCell'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/cell/ComboBoxTableCell.html)はここで使用できませんか? –
haulBeanは私のエンティティオブジェクトです(この場合はPOJOです)。 javabeanアダプタフィールドをComboBoxTableCellにバインドできますか? – Kefirchiks
しかし、どのエンティティオブジェクトですか?各行に1つずつあります。それは本当に意味をなさない。 cell * value *ファクトリを使用してJava Beanアダプタにマップし、セルファクトリを使用してテーブルセルを指定する必要があります。私は 'ComboBoxTableCell'で動作しない理由は見当たりません。 –