Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223

Массовый обработчик событий

16.02.2017, 04:59. Показов 1388. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Может кто ни будь знает как создать "Массовый обработчик событий", или что-то типа того или подскажет как еще решить проблему.
У меня есть сетка GridPane 10*10 заполнена Label(на морской бой), и я хочу обработать все нажатия на метки одним обработчиком а не создавать 100. (или не одним, но группу меток!)
Спасибо
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2017, 04:59
Ответы с готовыми решениями:

Обработчик событий
Есть 4 кнопки с названиями времен года, как описать обработчик событий, что бы при нажатии, на фреме менялась надпись, а над ней картинка,...

Обработчик событий
Нужно чтобы при нажатии кнопки вверх “VK_UP” созданный объект “sq1” двигался. Но в обработчике данный объект не видно...

Обработчик событий Button
С помощью этого класса необходимо получить код с текстового поля при нажатии на кнопку. Но при вызове строки sss из другого класса она...

1
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
16.02.2017, 18:51  [ТС]
Лучший ответ Сообщение было отмечено ViktorFX как решение

Решение

Создал массив меток. В цикле обращаюсь к каждому по индексу. Компилится но не работает((
В цикле создавал как обработчики событий так и просто присвоение типа label.setText("hi!");
Создавал условия группирования if()/switch(), но работает только default/else.
Выяснил что мой for(index =0; index<100; index++) просто "нециклится" index всегда = 0!
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
main_pane.my_map.elementAt(39).setOnMouseClicked(ae -> main_pane.my_map.elementAt(39).setText("AA"));
        main_pane.my_map.elementAt(35).setOnMouseClicked(ae -> main_pane.my_map.elementAt(35).setText("AA"));
for(index =0; index<100; index++) {
            main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setText(""+index)); 
            if(index == 36 || index == 37 || index == 38) 
            {  main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); 
               main_pane.my_map.elementAt(index).setText(""+index);
               main_pane.my_map.elementAt(36).setText("36");
            }
            else {
                main_pane.my_map.elementAt(4).setOnMousePressed(ae -> main_pane.my_map.elementAt(4).setText("EL")); 
                main_pane.my_map.elementAt(5).setOnMousePressed(ae -> main_pane.my_map.elementAt(5).setText("EL2")); 
                main_pane.my_map.elementAt(32).setText("32");
                main_pane.my_map.elementAt(index).setText(""+index);
                main_pane.my_map.elementAt(31).setText(""+index);
                
            }
            if(index ==32) {
                main_pane.my_map.elementAt(36).setText("36");
                main_pane.my_map.elementAt(37).setOnMousePressed(ae -> main_pane.my_map.elementAt(37).setText("37"));
            }
            switch(index) {
                case 40 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
                case 41 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
                case 42 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
                default : main_pane.my_map.elementAt(3).setOnMousePressed(ae -> main_pane.my_map.elementAt(3).setText("def"));
            }
            main_pane.my_map.elementAt(38).setOnMousePressed(ae -> main_pane.my_map.elementAt(38).setStyle("-fx-background-color: red;")); break;
            
            
           }
main_pane.my_map.elementAt(34).setOnMousePressed(ae -> main_pane.my_map.elementAt(34).setStyle("-fx-background-color: gray;"));
Миниатюры
Массовый обработчик событий  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2017, 18:51
Помогаю со студенческими работами здесь

Не работает обработчик событий
Вот решил попробовать себя в джаве, и чет как-то не очень пошло :( сделал дебаг метод actionPerformed вообще не вызывается. ...

Обработчик событий нажатий на клавиши
import javax.swing.*; import java.awt.*; import java.awt.event.*; // Класс окна, в котором размещено игровое поле class okno...

Перестаёт работать обработчик событий
Есть JFrame на который прикрепляется JInternalFrame. JInternalFrame становится видимым при нажатии клавиши tab, но обработчик событий...

Как в цикл вставить обработчик событий?
Здравствуйте, у меня проект с элементами swing, и есть блок, который выполняет длительные расчёты с циклами for. Когда запускается расчёт,...

Обязательно ли обработчик событий выносить в отдельный класс?
Обязательно ли обработчик событий выносить в отдельный класс?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru