Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 27.05.2018, 15:32   #1
Evdar
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 19
Репутация: 10
По умолчанию JavaFX NPE при обращении к TreeView

Приветствую форумчане, очень нужна ваша помощь.
Есть один контроллер "MainController" в котором идет обработка всей программы. Есть основное меню программы, контейнер VBox, на котором есть TreeView. С помощью @FXML я вытягиваю ссылку на этот TreeView. По алгоритму программы, пользователь нажимает на кнопку "Add" на основном меню, открывается другое окно, пользователь вводит данные, по кнопке "Finish" идет обработка этих данных, и эти данные я запихиваю в TreeItem , что бы потом этот итем задать как root для TreeView, но при обращении к TreeView получаю NPE.
Вот MainController:
Код:

public class MainController
@FXML
    private TreeView<Point> tree;

 public void addCities(ActionEvent actionEvent) throws IOException {//создание нового окна
        Stage window = new Stage();
        Parent root = FXMLLoader.load(getClass().getResource("../fxml/new_add_cities.fxml"));
        window.setTitle("Add Cities");
        window.setMinWidth(680);
        window.setMinHeight(550);
        window.setScene(new Scene(root));
        window.setResizable(false);
        window.initModality(Modality.APPLICATION_MODAL);
        window.initOwner(((Node) actionEvent.getSource()).getScene().getWindow());
        window.show();
    }

Обработка нажатия кнопки "Finish"
Код:

public void checkFinish(ActionEvent event) {
        int finishFlag = 0;
        for (int i = 0; i < points.size(); i++) {
            Point p = points.get(i);
            for (int j = 0; j < edges.size(); j++) {
                Point source = edges.get(j).getSource();
                Point destination = edges.get(j).getDestination();
                if (source.equals(p) || destination.equals(p)) {
                    finishFlag++;
                }
            }
            if (finishFlag == 1) {
                Alert alert = new Alert(Alert.AlertType.INFORMATION);
                alert.setTitle("Finish alert");
                alert.setHeaderText(null);
                alert.setContentText("The graph is not closed!");
                alert.showAndWait();
            }
            finishFlag = 0;
        }
        treeItem = TreeViewDisplayUtil.add(points, edges);
       tree.setRoot(treeItem);// здесь получаю NPE
        close(event);
    }

В дебагере проверял, null в tree , treeItem заполняется коректно.
В FXML файле fx:id указано правильно

Последний раз редактировалось Evdar; 27.05.2018 в 16:17.
Evdar вне форума   Ответить с цитированием
Старый 27.05.2018, 18:20   #2
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,129
Репутация: 840
По умолчанию

По этим кусочкам ничего не ясно
Black Fregat вне форума   Ответить с цитированием
Старый 27.05.2018, 20:35   #3
Evdar
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
По этим кусочкам ничего не ясно
Там просто 400 строк кода, думаю если я его скину яснее не будет
Evdar вне форума   Ответить с цитированием
Старый 27.05.2018, 23:18   #4
Evdar
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 19
Репутация: 10
По умолчанию

Проблему решил.
TreeView не вытягивал из файла а просто создавал в классе, и добавлял через код на форму.
Evdar вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в JavaFX какой элемент использовать чтобы указать путь к файлу - JavaFX Alexmur07 Общие вопросы по Java, Java SE, Kotlin 2 04.05.2018 01:10
Почему при обращении к структуре из класса возникает исключение:нарушение прав доступа при записи? iron-mik Помощь студентам 2 18.05.2014 01:40
Зависает VBA при обращении к Google Maps при расчете расстояний AlexTrasko Microsoft Office Excel 1 30.07.2013 10:49
Зависание при работе с HttpWebRequest при обращении к некоторым сайтам Mishiko C# (си шарп) 0 16.08.2012 12:24


00:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru