我在项目中使用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解决我的一切
最佳答案
您正在创建sheet
的第二个实例,但是没有添加到场景图中。
使用@FXML
批注,FXMLLoader
创建了一个添加的注释,但没有内容或元素。
这应该工作:
@FXML
private PropertySheet sheet;
public void initialize() {
sheet.getItems().setAll(BeanPropertyUtils.getProperties(new BeanObj()));
sheet.setMode(PropertySheet.Mode.NAME);
}
关于java - ControlsFX属性表不显示任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36518975/