-1
テーブルビューには2つの列があります。最初のものには私のオブジェクトの名前があり、2番目には私のオブジェクト属性リストの値を持つComboBoxがあります。テーブルの列セルにComboBoxを設定して観察するにはどうすればよいですか?
ComboBoxを変更すると、選択した属性がユーザーが選択したリスト要素で変更されます。例えば
:
| Name | Choices |
|---------------|-------------------|
| Object 1 Name | Object 1 ComboBox |
| Object 2 Name | Object 2 ComboBox |
は、これまでのところ、私は名前を移入するために管理してきましたが、私は選択肢欄でこだわっています。
MyObjectにモデル:
public class MyObject {
// Objects name is the filename
private File file;
// Selection from the ComboBox that is populated with infoList elements
private SomeInfo selectedInfo;
private List<SomeInfo > infoList;
... getter/setter
コントローラー:
@FXML
private TableView<MyObject> myObjectTableView;
@FXML
private TableColumn<MyObject, String> myObjectNameTableColumn, myObjectChoicesTableColumn;
private void populateTableView(List<MyObject> myObjectList) {
ObservableList<MyObject> myObjectObservableList = FXCollections.observableList(myObjectList);
myObjectTableView.setItems(myObjectObservableList);
myObjectNameTableColumn.setCellValueFactory(c -> new SimpleStringProperty(c.getValue().getFile().getName()));
}
はあなたにジェームスをありがとう! – pror21
ようこそ。わずかに異なるアプローチについては、updateを参照してください。 –
ジェームスあなたの新しい例にはセッターがないので、私はinfoListをどのように埋めることができるのか分かりません。あなたはそれを逃したのか、それとも何かを欠いている私のものですか? :) (選択可能な選択肢は別のメソッドから動的に与えられます) – pror21