如何在JAVA FX 2.2中重新绘制一个窗口(舞台)

7

我需要在下拉框元素被选择时重新绘制窗口。

JAVA FX 2.2中如何重新绘制窗口(舞台)?

以下是我的代码:

functionComboBox.valueProperty().addListener(new ChangeListener<String>() {
    @Override public void changed(ObservableValue ov, String t, String t1) 
    {
        showFunctionParamters(t1);
    }
    private void showFunctionParamters(String methodName) 
    {
        gridPaneParameters = new GridPane();
        gridPaneParameters.setPadding(new Insets(20, 0, 0, 50));
        gridPaneParameters.setHgap(10);
        gridPaneParameters.setVgap(4);
        int i = 2; 
        parameterList = methodAttrMap.get(methodName);
        Iterator<String> itrParameterList = parameterList.iterator();
        while(itrParameterList.hasNext())
        {
            //TODO allow the user to enter the values for the parameters 
            Label parameterName = new Label(itrParameterList.next()); 
            TextField parameterTextField = new TextField();
            gridPaneParameters.add(parameterName, 1, i);
            gridPaneParameters.add(parameterTextField, 2, i);
            i++;
        }
        pane.getChildren().add(gridPaneParameters);
    }
});
1个回答

13

由于您的代码在运行时将新组件添加到窗格中,因此您可能需要:

pane.requestLayout();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接