ChoiceBox选项在JavaFX中更改布局

时间:2017-04-01 21:36:48

标签: java javafx

如何根据ChoiceBox选择的选项调整(扩展)布局?我的主窗口由ChoiceBox(带有几个选项)和Exit按钮组成。当用户展开列表并选择一个选项时,布局应该以这样的方式更改,即选择框(包含所选项),但根据选择,添加一些表单和标签以创建一种填充表单。我的想法如下:

choiceBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue ov, Number value, Number new_value) {
                try {
                    stage = (Stage) choiceBox.getScene().getWindow();
                    FXMLLoader loader = new FXMLLoader();
                    choiceBox.getSelectionModel().select(new_value.intValue());
                    Parent parent = loader.load(getClass().getResource(Strings.addItemLayouts[new_value.intValue()]).openStream());
                    Scene scene = new Scene(parent);
                    stage.setScene(scene);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

其中addItemLayouts是一个字符串数组,它包含根据所选项目的新布局路径。 每个布局都将其控制器定义为与主窗口控制器相同。这是好方法还是可以以更好的方式做到这一点?

0 个答案:

没有答案