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

Пользовательский Event на Label

17.08.2023, 12:53. Показов 658. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В интернете нашел примеры по созданию пользовательских событий. Создаю проект на JavaFX, создаю такое событие
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class PersonEvent extends Event {
 
 
    public static final EventType<PersonEvent> PERSON = new EventType<>(Event.ANY, "ANY");
    public static final EventType<PersonEvent> ANY = PERSON;
    public static final EventType<PersonEvent> PERSON_SAVE = new EventType<>(PersonEvent.ANY, "PERSON_SAVE");
 
    private Person person;
    public PersonEvent(EventType<? extends Event> eventType, Person person) {
        super(eventType);
        this.person = person;
    }
 
    public Person getPerson() {
        return this.person;
    }
}
в контроллере подписываюсь на событие и вешаю на кнопку отправку этого события.
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
public class HelloController implements Initializable {
    public Button btn1;
    @FXML
    public Label lbl1;
    @FXML
    public VBox root;
 
    @FXML
    private Label lbl2;
 
    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
        System.out.println("initialize");
        root.addEventFilter(PersonEvent.ANY, personEvent -> {
            System.out.println(personEvent.getPerson());
        });
 
        lbl1.addEventFilter(PersonEvent.ANY, this::handlePersonEvent);
    }
 
    @FXML
    protected void onHelloButtonClick(ActionEvent actionEvent) {
        Person person = new Person("Вася", "Пупкин");
//        ((Button)actionEvent.getSource()).fireEvent(new PersonEvent(PersonEvent.PERSON_SAVE, person));
        btn1.fireEvent(new PersonEvent(PersonEvent.ANY, person));
    }
 
    public void handlePersonEvent(PersonEvent event) {
        System.out.println("handlePersonEvent");
    }
}
Но событие срабатывает только на Vbox, на Label не хочет срабатывать, почему? Даже если только на один Label повесить слушателя.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2023, 12:53
Ответы с готовыми решениями:

Пользовательский комбобокс,его расположение в datagridview и event
Добрый день. Имеется форма на которой есть datagrid, кнопки,комбобокс. Еще есть база данных,в...

Событие Event.COPY Event.PASTE Event.CUT
Привет я не знаю как написать код в котором текстовое поле реагировало бы на события...

Ошибка Added non-passive event listener to a scroll-blocking event
Здравствуйте. Подскажите как можно исправить ошибки в Jquery. Они не критичные, сайт работает и...

Как узнать координаты мышки из event:Event
как из переменной event достать координаты? knob_MC.addEventListener(MouseEvent.MOUSE_DOWN,...

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

event.returnValue is deprecated. Please use the standard event.preventDefault() instead
Выдаёт ошибку event.returnValue is deprecated. Please use the standard event.preventDefault()...

WebBrowser не поддерживает Event MouseDown и Event MouseUp
Здравствуйте, у меня имеется WebBrowser control в windowsFormApp, но он не поддерживает Event...

Не работает event.ref и event.ref_source
Все версии самые последние Код(вставил только то что имеет отношение к проблеме т.к. файл на 2000...

Получить определенные данные из List<Event> events1 и добавить их в другой List<Event> events2
Здравствуйте. Имеется класс: package com.example.lesha.myapplication; public class Event {...

Conversion from "Event*" to non-scalar type "Event" requested
Добрый день! я запуталась в казателях( и не понимаю, чего он хочет от меня. я создала свой...

ProgressBar. Отображение % выполнения на label - как сделать фон label прозрачным?
Есть прогрессбар, есть лэйбл, на котором отображается ход выполнения. Лэйбл помещена на...

Вывод секунд в Label из Time (как вывести секунды в Label из Timer?)
Всем привет. Прошу помощи в следующем: Поместил на фому Timer1 задал интервал 10 000 (10...


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

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

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