JavaFx- 如何将值从ListView(窗口2)传递到Buttons(窗口1) 包含ListView 嗨,大家好,我是Java的初学者,所以这也许不是一个聪明的问题,但是我在网上找不到答案。
(界面的末尾有一张照片。)
在我的代码中,我有一个窗口/阶段来显示概述/日历,管理员用户应该能够为其他用户进行预订。 因此,当他首先选择一个时隙,然后单击“进行预订”时,现在会弹出另一个带有列表视图的窗口,方法是单击一个乐队的名称,然后单击“确认”,所选的时隙应具有名称乐队。
我的问题是,单击“确认”后,如何在时隙上显示乐队的名称? (因此,如何传递newValue-列表视图中的最后一次点击?) 现在,我只能将代码“ setText”放入listView,因此在确认之前,该时隙已经具有名称。 我尝试对“确认”的按钮操作进行“ setText”操作,但不起作用。
列表视图的代码:
ObservableList<String> strlist = FXCollections.observableArrayList("Band1","Band2","Band3");
javafx.scene.control.ListView<String> listview = new javafx.scene.control.ListView<>(strlist);
listview.setItems(strlist);
listview.setPrefSize(200, 150);
listview.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue<? extends String> observable,String oldValue, String newValue) ->{
timeslot.setText(newValue);
System.out.println(newValue);
}
);
确认按钮的代码:
confirm.setOnAction(new EventHandler <ActionEvent>(){
public void handle (ActionEvent event) {
TimeSlot timeslot = week.getSelectedSlot();
timeslot.setReserved();
timeslot.setStyle("-fx-font:12 arial;-fx-base:#F95F62;");
week.unmarkSelectedSlot();
window.close();
}
});
PHOTO:the interface photo with listview window and the time slot window
listview窗口的代码位于私有类MakeReservation中,该代码位于时隙视图代码中。