Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для ksmnm
0 / 0 / 4
Регистрация: 31.05.2015
Сообщений: 69

Переменные контроллеров сбрасываются в NULL

14.07.2015, 11:59. Показов 1451. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем проблема такая:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package ChumInterface;
 
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
public class StartProgram extends Application {
 
    private Parent chatForm;
    private Parent loginForm;
    private static Scene loginScene; //форма логина
    private static Scene chatScene; //основное окно
    private static Stage publicStage; //основное управляющее окно
    private FXMLLoader loaderLogin;
    private FXMLLoader loaderChat;
 
    private LoginController login;
    private ChatController chat;
    private String x = "testcomplete";
 
    @Override
    public void start(Stage primaryStage) throws Exception{
        publicStage = primaryStage; 
        //инициализатор формы логина, его контроллера итд
        loaderLogin = new FXMLLoader(getClass().getResource("LoginForm.fxml"));
        loginForm = (Parent)loaderLogin.load();
        login = loaderLogin.getController();
        loginScene = new Scene(loginForm, 200, 200);
        //конец инициализатора логина
 
        //инициализатор формы чата, его контроллера итд
        loaderChat = new FXMLLoader(getClass().getResource("ChatForm.fxml"));
        chatForm = (Parent)loaderChat.load();
        chat = loaderChat.getController();
        System.out.println("чат инициализирован" +chat +" "+ login);
        chatScene = new Scene(chatForm, 800, 600);
        //конец инициализатора чата
 
 
 
        publicStage.setScene(loginScene); //открытие формы логина, временное
        publicStage.setMinHeight(300);
        publicStage.setMinWidth(300);
        publicStage.setMaxHeight(300);
        publicStage.setMaxWidth(300);
 
        //loginScene = new Scene(loginForm, 200, 200);
 
        //mainScene = new Scene(mainForm, 800, 600);
 
 
        publicStage.setTitle("Login to Chum");
        publicStage.show();
 
        System.out.println(login.getUser());
 
    }
 
    public void startLogin() {
 
    }
 
    public void startChat(String user) {
 
      if (chat != null) { chat.setUserName(user);}
        }
    }
 
 
    public static void main(String[] args) {
        launch();
    }
}
Первый систем аут (37 строка) выводит нечто вроде "чат инициализированChumInterface.ChatControl ler@6533e530 ChumInterface.LoginController@7f6d6876", то есть объекты созданы и все ок.
А в методе startChat (67 строка) они уже равны NULL, при вызове метода startChat возникает вот это:

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetExcept ion
блаблабла
Caused by: java.lang.NullPointerException
at ChumInterface.StartProgram.startChat(Sta rtProgram.java:73)
at ChumInterface.LoginController.enterMagik (LoginController.java:51)
Не могу победить уже который день. Ссылки просто указывают в нулл, но компилятор пропускает. Скажите, где я лох?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2015, 11:59
Ответы с готовыми решениями:

Переменные Controller сбрасываются в NULL
Имеется довольно простая форма (inner), которую нужно N-раз добавить на основную форму (root). Естественно, что просто добавить ее мало -...

Когда сохраняем в cookie сессионные переменные сбрасываются?
Это опять я. Все получилось, все сохранилось в cookie? но переключаясь на другую страницу у меня сбрасываюися переменные Session('aaa')...

При любом действии сбрасываются переменные. Как этого избежать
У меня проблема небольшая. Пишу приложение ASP.net, при любой действии сбрасываются переменные. Как сделать так чтобы они не сбрасывались? ...

1
 Аватар для ksmnm
0 / 0 / 4
Регистрация: 31.05.2015
Сообщений: 69
15.07.2015, 21:40  [ТС]
В общем решение найдено, может кому пригодиться. Был создан дополнительный класс Warehouse:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package ChumInterface;
 
public class Warehouse {
    private static Controller chat;
 
 
    public static void setChat(ChatController ch) {
        chat = ch;
    }
   
    public static ChatController getChat() {
        return chat;
    }
Из него все ссылки легко вытаскиваются. Их все равно нельзя назначить поэтому остается только использовать прямо отсюда Warehouse.getChat.metod();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.07.2015, 21:40
Помогаю со студенческими работами здесь

Последовательность указателей на вещественные переменные, ограниченная NULL
Последовательность указателей на вещественные переменные, ограниченная NULL.. Функция возвращает динамический массив указателей на эти...

После повторного вызова фрагмента переменные становятся null
Первый раз фрагмент вызывается в методе onCreate, и все нормально выводиться. Если вызывается другой фрагмент, а потом снова первый, то...

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

UPDATE SELECT, ERROR: null value in column violates not-null constraint
Здравствуйте. Две таблицы, из одной значением integer модифицируется int другой таблицы. В таблице-приёмнике ограничение NOT NULL. ...

Не работает код: m_web1.Navigate ('gidro.htm',0,0,NULL,NULL);
Друзья помогите начинаюшему значит делаю m_web1.Navigate ('с:\gidro.htm',0,0,NULL,NULL);работает делаю m_web1.Navigate...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru