JavaFx-如何将值从ListView(窗口2)传递到Buttons(窗口1)

时间:2018-12-11 15:58:29

标签: listview javafx

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中,该代码位于时隙视图代码中。

0 个答案:

没有答案