1

我在我的项目中使用ControlFX 库来使用 PropertySheet 动态生成表单。控制器类:

    public class Controllor implements Initializable
   {
    @FXML
    private PropertySheet sheet;
    @Override
    public void initialize(URL location, ResourceBundle resources)
    {
    sheet = new PropertySheet(BeanPropertyUtils.getProperties(new BeanObj(someProperties)));
    sheet.setMode(PropertySheet.Mode.NAME);
    }
    }

我的 fxml 文件包含一个 AnchorPane 和 PropertySheet(仅用于测试)。
程序运行没有错误,但它显示一个空的 propertySheet 控件!
那么,我这样做对吗?请任何帮助将不胜感激!
编辑:我设法通过在 MainClass 的 Start() 方法中实现相同的代码来运行应用程序
我仍然很困惑!我想不通......
编辑2: F5为我解决一切

4

1 回答 1

0

您正在创建 的第二个实例sheet,但没有被添加到场景图中。

使用@FXML注释,FXMLLoader创建的注释是添加的注释,但没有内容或元素。

这应该有效:

@FXML
private PropertySheet sheet;

public void initialize() {
    sheet.getItems().setAll(BeanPropertyUtils.getProperties(new BeanObj()));
    sheet.setMode(PropertySheet.Mode.NAME);
}
于 2016-04-09T20:08:59.537 回答