powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить слушателя в собственный класс?
14 сообщений из 14, страница 1 из 1
Как добавить слушателя в собственный класс?
    #39289366
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Есть класс:

Код: 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.
public class PM7LTypes extends Panel{ 

     public PM7LTypes(){
     ...
     ...
     CheckBox cb1 = new CheckBox ("Caption1");
     cb1.addValueChangeListener(new Property.ValueChangeListener() {
            @Override
            public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
               .....
               .....
            }
        });

     CheckBox cb2 = new CheckBox ("Caption2");
     cb2.addValueChangeListener(new Property.ValueChangeListener() {
            @Override
            public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
               .....
               .....
            }
        });

     }

}



Как сделать так, чтобы добавив слушателя для экземпляра класса PM7LTypes,
этот слушатель "слушал" только события изменения значений чекбоксов cb1 и cb2 ?

Т.е. хотелось бы видеть это так:

Код: java
1.
2.
3.
4.
5.
6.
7.
PM7LTypes myPM = new PM7LTypes();
myPM.addChangeListener(new ChangeListener(){
     @Override
      public void Change(Property.ChangeEvent changeEvent) {
         //Код срабатываемый после изменения cb1 и cb2     
       }
});
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289373
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте один метод для обоих чекбоксов в
.addValueChangeListener(...
с условием внутри метода, какое значение проставлено в cb1 и cb2.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289374
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том смысле, что все-таки слушатели ставятся на каждый чекбокс, а не на класс в целом :)
Обычно же они к компонентам привязываются, а не к классу...
А класс-то что, у него событие основное - инициализация/создание экземпляра, в этот момент он и смотрит на состояния компонентов в нем, но эти состояния и так известны и проставляются при создании внутри класса.
или я не прав? :)
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289377
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да правильно, один метод для двух чекбоксов то я создал,
но мне надо ловить их состояние по отдельности же...

думаю..
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289397
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,

Если это JavaFX то что-то вы делаете категорически не так. Используйте биндинг вместо слушателей.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289415
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,
По ООП можно и к классу. Тогда он сам становится источником событий. Инкапсулировав 2 чекбокса.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289423
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Это не JavaFX.

Это Vaadin.
Но я кажется решил вопрос.
Скорее всего тру-программеры меня загнобят, но работает.

Внутри класса реализовал метод-слушатель:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        public void addValueChangeListener(Property.ValueChangeListener listener){
        cb1.addValueChangeListener(listener);
        cb2.addValueChangeListener(listener);
        cb3.addValueChangeListener(listener);
        cb4.addValueChangeListener(listener);
        cb5.addValueChangeListener(listener);
        cb6.addValueChangeListener(listener);
        cb7.addValueChangeListener(listener);
    }



и внутрь затолкал слушатели всех чекбоксов.
А реализация listener происходит из основного приложения.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289426
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERДа правильно, один метод для двух чекбоксов то я создал,
но мне надо ловить их состояние по отдельности же...

думаю..
Внутри переменной Property.ValueChangeEvent valueChangeEvent должно быть что-то что поможет определить нужный чекбокс.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289429
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERВнутри класса реализовал метод-слушатель:

А что циклы запрещают на работе использовать?
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289431
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Вы про цикл на 7 итераций? ))
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289441
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,
В других ЯП ещё есть автоматическая отписка от компонента при уничтожении.
Тут, в конкретном примере не подскажу - надо или нет.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289447
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULERВы про цикл на 7 итераций? ))
Нет. Про то что у вас 7 условий и итераций будет в нескольких разных местах, каждое из которых нужно переписывать при изменении чекбоксов.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289453
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Да там просто набор "галочек" который анализируется в одном месте. Проверок действительно семь, но они не повторяются.
...
Рейтинг: 0 / 0
Как добавить слушателя в собственный класс?
    #39289456
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123MAULER,
В других ЯП ещё есть автоматическая отписка от компонента при уничтожении.
Тут, в конкретном примере не подскажу - надо или нет.
Зависит от того переиспользуется Panel или пересоздаётся.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить слушателя в собственный класс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]