2016-04-09 2 views
0

В моем проекте используется ControlFX library, чтобы динамически создавать формы с помощью PropertySheet. Controllor класс: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!
Итак, я делаю это правильно? Пожалуйста, любая помощь будет оценена!
EDIT: Мне удалось получить приложение, выполнив тот же код в методе Start() MainClass
Я все еще смущен !! Я не могу понять это ...
EDIT 2: F5 решить все для меня

+0

Вы создавали второй экземпляр 'sheet'. С помощью аннотации '@ FXML' создан« FXMLLoader ». –

+0

Я пробовал этот подход, но он дает мне nulPointerException – MontaWiso

ответ

0

Вы создавали второй экземпляр sheet, но без добавления в графе сцены.

С аннотацией @FXML, FXMLLoader создан тот, который был добавлен, но без содержимого или элементов.

Это должно работать:

@FXML 
private PropertySheet sheet; 

public void initialize() { 
    sheet.getItems().setAll(BeanPropertyUtils.getProperties(new BeanObj())); 
    sheet.setMode(PropertySheet.Mode.NAME); 
} 
+0

Я использую eclipse и строитель сцен, по какой-то причине файлы fxml не синхронизировались в eclipse !! поэтому я продолжал получать ошибку и пустую сцену !!! , F5 решила проблему !!! Спасибо, в любом случае – MontaWiso

Смежные вопросы