2 / 2 / 0
Регистрация: 11.10.2015
Сообщений: 39
1

Обработка событий для собственного элемента JavaFX

20.02.2017, 07:00. Показов 801. Ответов 0

Author24 — интернет-сервис помощи студентам
Есть в модуле класс, построенный в jar-файл (чтобы работать в SceneBuilder). Элемент представляет собой таблицу, как видно из кода, 2x2 - метки и текстовые поля, включающие имя товара и цену соответственно.

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
public class TovarInfo extends GridPane {
 
    Label nameLabel, priceLabel;
    TextField nameField;
    FloatField priceField;
 
    public FloatField getPriceField() {
        return priceField;
    }
 
    public TovarInfo() {
        super();
        initialisationElements();
        this.setPrefSize(140, 50);
        this.setAlignment(Pos.CENTER);
 
        super.add(nameLabel,0,0);
        super.add(priceLabel, 0, 1);
        super.add(nameField, 1, 0);
        super.add(priceField, 1, 1);
 
    }
 
    private void initialisationElements() {
        nameLabel = new Label("Название: ");
        priceLabel = new Label("Цена: ");
 
        nameField = new TextField();
        nameField.setPrefWidth(50d);
 
        priceField = new FloatField();
        priceField.setPrefWidth(50d);
    }
 
}
В конечном приложении есть два таких элемента, + существует поле, в которое выводится суммарное значение цен. Так вот вопрос - как тут правильно привязать обработчик? Допустим, привяжем (On Key Released) непосредственно к элементу TovarInfo и при подсчете суммы будем извлекать значения из поля "priceField" - но тогда метод, подсчитывающий сумму и добавляющий в поле будет вызываться и при редактировании имени (на конечный результат не влияет, но все же).

Другой вариант - привязка к полю цены в конструкторе, но тогда придется "извлекать" метод подсчета суммы из контроллера. Перегрузка методов привязки обработчиков недопустима из Node'а.

Есть ли возможность как-то перехватывать событие, проверять его прежде чем вызывать метод? Или способ реализовать все лучше?

Конечно, бессмысленно объединять все в один элемент, но проект учебный)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2017, 07:00
Ответы с готовыми решениями:

Обработка событий мыши в javaFX
Здравствуйте, я реализовал интерфейс EventHandler<MouseEvent>, переопределил метод Handle, но где...

Создание собственного элемента или шаблона для отображения информации
Передо мной стоит задача: организовать выведение списка объектов в специфическом виде. Каждый...

Создание собственного журнала событий
Здравствуйте! Появилась задача создать для приложения собственный журнал событий. Поизучав тему,...

Обработка событий для массива кнопок
Здравствуйте. У меня в программе создается массив из N ImageButton. и для каждой кнопки нужно...

0
20.02.2017, 07:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2017, 07:00
Помогаю со студенческими работами здесь

Обработка событий для массива CheckBox
Доброго времени суток. Нужна ваша помощь. Я в программе создаю массив чекбоксов. После этого...

Обработка событий для перекрывающихся объектов
Добрый день. Вот такой вот примитивный скрипт который делает плавное выпадение списка. <script...

Обработка событий для динамически создаваемых Textbox
Доброго времени суток! По нажатию на кнопку внутри Меню создаю новые вкладки TabPage для...

Обработка событий для кнопок в RAD Studio 10.3
Доброе утро! Я учусь программировать на RAD Studio 10.3 и GLScene 1.8. Я добавил в проект две...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru