[英]How to listen for a selection change in a JavaFX ListView
我已经搜索了一段时间,但没有找到任何有效的方法。 我要这样做,以便用户每次单击列表中的新客户端时,这些客户端详细信息都会显示在字段中(请参见下面的屏幕截图):
在废弃了一堆我在网上发现无法解决的解决方案之后,这是到目前为止的基本代码:
@FXML
private ListView<Client> clientList;
private ObservableList clientObservableList;
@Override
public void initialize(URL url, ResourceBundle rb) {
this.initializeGymState();//this loads in some dummy clients
clientObservableList = FXCollections.observableArrayList(gym.getClients());
clientList.getItems().setAll(clientObservableList);
clientList.getSelectionModel().selectFirst();
this.clientDisplayDetails();//this displays the client details, works fine
}
我什至不知道从哪里开始使用该解决方案,之所以有一个ObservableList是因为我希望使用ListChangeListener,但是现在我认为ListChangeListener可以侦听列表中的更改(添加,rmove等) 。),请勿更改选择。 我是JavaFX的新手,所以像我是一个5岁大的孩子一样跟我说话:P
多谢你们
对于单选:
clientList.getSelectionModel().selectedItemProperty().addListener(...);
对于多重选择:
clientList.getSelectionModel().getSelectedItems().addListener(...);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.