Форум программистов, компьютерный форум, киберфорум
JavaFX
Войти
Регистрация
Восстановить пароль
Другие темы раздела
JavaFX Изменения размера окна по нажатию кнопки https://www.cyberforum.ru/ javafx/ thread2774874.html
Добрый день, подскажите как изменить окно приложения по нажатию кнопки . Обработка нажатия кнопки происходит в контроллере.
Почему vbox не растягивается по всей длине, так как это делает hbox? JavaFX
Всем привет! Ребята, я создал простейшую форму, но не пойму почему vbox не растягивается до низа окна. VBox vb_main = new VBox(); Scene myScene = new Scene(vb_main, 1000, 700);...
Как поместить 2 элемента а разные концы hbox? JavaFX
Доброго времени суток! Возник такой вопрос: как поставить "распорку" между элементами в hbox, как например, это можно сделать в qt с помощью setStretch(). BorderPane пробовал, получилось,...
JavaFX Проверка ввода в диалоговом окне и игнорирование кнопки ОК Здравствуйте, у меня диалоговое окно для ввода информации о футбольном матче. Если правильно заполнить поля, то на выходе будет новый объект. Но не получается заблокировать кнопку "ОК" в том случае,... https://www.cyberforum.ru/ javafx/ thread2771422.html
JavaFX NullPointerException https://www.cyberforum.ru/ javafx/ thread2770341.html
Добрый вечер, делаю лабу по джаве (чат), в качестве доп задания дали переделать GUI клиента со swing на javafx , суть проблемы, вылетает ошибка : Exception in thread "Thread-3"...
JavaFX Конвертер чисел из одной системы счисления в другую
Нужно сделать программу которая будет переводить число и одной СС в другую
Как обратиться из одного класса к другому JavaFX
Как обратиться из одного класса First.java к другому Second.java для получения обработчика
JavaFX Получаю исключение в JavaFX Application Thread Учусь писать сокет-чат на java. Хочу добавить функцию, где пользователь может получать свой IP-адрес. Но при нажатии на кнопку вылетает исключение: Exception in thread "JavaFX Application... https://www.cyberforum.ru/ javafx/ thread2766354.html
JavaFX Какой есть листенер который реагирует на смену размера окна? https://www.cyberforum.ru/ javafx/ thread2764113.html
Подскажите пожалуйста какой есть листенер который реагирует на смену размера окна? JavaFX Добавлено через 38 минут Сам спросил, сам ответил как обычно. Вот как я реализовал это у себя ...
JavaFX Как добавить несколько динамических элементов? Суть заключается в том, что когда я ввожу необходимое количество состояний, должно появиться заданное количество TextField. То есть, если ввожу 8 состояний, должно появиться 8 TextField. Как это... https://www.cyberforum.ru/ javafx/ thread2755160.html
JavaFX Записать данные из форм в файл https://www.cyberforum.ru/ javafx/ thread2752896.html
Помогите записать данные из форм в файл Не получается сделать не как Вот мой fxml файл: <?xml version="1.0" encoding="UTF-8"?> <?language javascript?> <?import javafx.scene.text.*?>...
JavaFX Найти сумму простых чисел, которые меньше n С javafx я не знаком, поэтому прошу помощи в решении данной задачи. Найти сумму простых чисел, которые меньше n и сделать простой интерфейс для ввода и вывода данных. Нашел подобное решение на... https://www.cyberforum.ru/ javafx/ thread2752407.html
41 / 0 / 0
Регистрация: 01.10.2017
Сообщений: 44
0

Правильная инициализация контроллера

26.01.2021, 18:21. Просмотров 825. Ответов 0
Метки (Все метки)


Добрый день, пытаюсь педать данные из класса Main в контроллер , но вылетает ошибка : Cannot assign field "strs" because "this.controller" is null . Т.е. контроллер не инициализирован, и понять как его проинициализировать у меня не получается.

код класса main:
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
package sample;
 
import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
public class Main extends Application {
    private Sample sample; // объект нашего класса
 
    public Main(){
        this.sample = new Sample(this);
    }
 
    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }
 
    public static void main(String[] args) {
        launch(args);
    }
}
код класса sample:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package sample;
 
public class Sample {
    private Controller controller; // объявляем объект класса Controller, который создала нам IDE
    private Main main;
    public  Sample(Controller controller){
        this.controller = controller;
    }
 
    public Sample(Main main) {
        this.main=main;
    }
 
    public void print(){
        controller.strs="класс 2";
 
    }
 
}
код контроллера:
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
package sample;
 
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.util.Duration;
 
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
 
public class Controller {
 
    @FXML
    private Label Label1;
 
    @FXML
    private TextField txta;
 
public String strs="fgh";
 
 
    private Sample sample; // объект нашего класса
 
    public Controller(){
        this.sample = new Sample(this);
    }
 
 
    public TextField getLabel(){
        return txta;
    }
 
    @FXML
    void initialize() {
        //sample.print();
        Timeline tml = new Timeline();
        tml.setCycleCount(Timeline.INDEFINITE);
        KeyFrame ballMove = new KeyFrame(Duration.millis(1000),
                new EventHandler<ActionEvent>() {
 
                    public void handle(ActionEvent event) {
 
 
                        txta.appendText( strs );
                    }
                });
        tml.getKeyFrames().add(ballMove);
        tml.play();
 
 
    }
 
 
}


Вернуться к обсуждению:
Правильная инициализация контроллера
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2021, 18:21
Готовые ответы и решения:

Правильная инициализация ?
Здравствуйте уважаемые программисты! Мне необходимо описать два класса, один ArrayOfInt - якобы...

Правильная инициализация curl
Добрый день Коллеги! Очень интересует один важный вопрос. Собираюсь использовать curl в своём...

Инициализация программируемого контроллера прерываний
Всем доброго времени суток, у меня есть процедура инициализации ПКП: MOV DX, 20h // Ведущий...

Правильная инициализация MSAA сглаживания
Какие структуры и переменные необходимо проинициализировать и передать чтобы включилось сглаживание...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.