我正在尝试使用JavaFX中Object的name属性填充ListView。
我也在使用FXML控制器。
ListView
绑定到fx:id stationListView
。
我设置了ObservableList
:
@FXML
ObservableList<Station> stations = getStations();
其中getStations();
返回分配了各种属性的Station
个对象列表,并使用station.getName()
访问每个工作站的名称。
如果修改ListView,我可以将Station
的名称添加到ListView
:
//Initialising ListView
@FXML
private ListView stationListView;
//In 'initialise' section of FXML controller
for(Station station:stations) {
stationListView.getItems().add(station.getName());
}
但是我想用ListView
对象填充Station
,以便我可以根据这些对象的其他属性更新TableView
。
我还是Java的新手,所以任何指向正确方向的人都会受到赞赏。
修改的
我能够使用单元工厂设置ListView
中的工作站名称:
stationListView.setCellFactory(new Callback,ListCell&gt;(){
@Override
public ListCell<Station> call(ListView<Station> param) {
final ListCell<Station> cell = new ListCell<Station>() {
@Override
public void updateItem(Station item, boolean empty) {
super.updateItem(item, empty);
if (item != null) {
setText(item.getName());
}
}
};
return cell;
}
});
stationListView.setItems(stations);
但是现在我不知道如何根据TableView
ListView