2012-10-25 20 views
6

Tôi cần vẽ lại một cửa sổ khi chọn một phần tử combobox. Làm thế nào để sơn lại một cửa sổ (sân khấu) trong JAVA FX 2.2?Cách vẽ lại một cửa sổ (sân khấu) trong JAVA FX 2.2

Dưới đây là mã của tôi

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); 
    } 
}); 

Trả lời

12

Kể từ mã của bạn thêm thành phần mới cho cửa sổ trên thời gian chạy, có thể bạn cần:

pane.requestLayout(); 
Các vấn đề liên quan