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

Узнай цену своей работы

Формулировка задачи:

Всем привет. Может кто ни будь знает как создать "Массовый обработчик событий", или что-то типа того или подскажет как еще решить проблему. У меня есть сетка GridPane 10*10 заполнена Label(на морской бой), и я хочу обработать все нажатия на метки одним обработчиком а не создавать 100. (или не одним, но группу меток!) Спасибо

Решение задачи: «Массовый обработчик событий»

textual
Листинг программы
  1. main_pane.my_map.elementAt(39).setOnMouseClicked(ae -> main_pane.my_map.elementAt(39).setText("AA"));
  2.         main_pane.my_map.elementAt(35).setOnMouseClicked(ae -> main_pane.my_map.elementAt(35).setText("AA"));
  3. for(index =0; index<100; index++) {
  4.             main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setText(""+index));
  5.             if(index == 36 || index == 37 || index == 38)
  6.             {  main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;"));
  7.                main_pane.my_map.elementAt(index).setText(""+index);
  8.                main_pane.my_map.elementAt(36).setText("36");
  9.             }
  10.             else {
  11.                 main_pane.my_map.elementAt(4).setOnMousePressed(ae -> main_pane.my_map.elementAt(4).setText("EL"));
  12.                 main_pane.my_map.elementAt(5).setOnMousePressed(ae -> main_pane.my_map.elementAt(5).setText("EL2"));
  13.                 main_pane.my_map.elementAt(32).setText("32");
  14.                 main_pane.my_map.elementAt(index).setText(""+index);
  15.                 main_pane.my_map.elementAt(31).setText(""+index);
  16.                
  17.             }
  18.             if(index ==32) {
  19.                 main_pane.my_map.elementAt(36).setText("36");
  20.                 main_pane.my_map.elementAt(37).setOnMousePressed(ae -> main_pane.my_map.elementAt(37).setText("37"));
  21.             }
  22.             switch(index) {
  23.                 case 40 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
  24.                 case 41 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
  25.                 case 42 : main_pane.my_map.elementAt(index).setOnMousePressed(ae -> main_pane.my_map.elementAt(index).setStyle("-fx-background-color: blue;")); break;
  26.                 default : main_pane.my_map.elementAt(3).setOnMousePressed(ae -> main_pane.my_map.elementAt(3).setText("def"));
  27.             }
  28.             main_pane.my_map.elementAt(38).setOnMousePressed(ae -> main_pane.my_map.elementAt(38).setStyle("-fx-background-color: red;")); break;
  29.            
  30.            
  31.            }
  32. main_pane.my_map.elementAt(34).setOnMousePressed(ae -> main_pane.my_map.elementAt(34).setStyle("-fx-background-color: gray;"));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут