Массовый обработчик событий - Java
Формулировка задачи:
Всем привет. Может кто ни будь знает как создать "Массовый обработчик событий", или что-то типа того или подскажет как еще решить проблему.
У меня есть сетка GridPane 10*10 заполнена Label(на морской бой), и я хочу обработать все нажатия на метки одним обработчиком а не создавать 100. (или не одним, но группу меток!)
Спасибо
Решение задачи: «Массовый обработчик событий»
textual
Листинг программы
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;"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д