Массовый обработчик событий - 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;"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д