我在项目中使用ControlFX library来使用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解决了我的一切
答案 0 :(得分:0)
您正在创建sheet
的第二个实例,但未添加到场景图中。
使用@FXML
注释,FXMLLoader
创建了一个添加的注释,但没有内容或元素。
这应该有效:
@FXML
private PropertySheet sheet;
public void initialize() {
sheet.getItems().setAll(BeanPropertyUtils.getProperties(new BeanObj()));
sheet.setMode(PropertySheet.Mode.NAME);
}