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

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

16.02.2017, 04:59. Показов 1395. Ответов 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
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru