Хочу реализовать общий метод обработки нажатия для группы кнопок с помощью switch. Не получается эту идею запилить. С помощью if-else-if получилось
public void onClickTab1Buttons(ActionEvent event){
if (event.getSource() == bt1) {
lbl.setText("bt1");
} else if (event.getSource() == bt2) {
lbl.setText("bt2");
} else if (event.getSource() == bt3) {
lbl.setText("bt3");
}
}
Хочу примерно так:
public void onClickTab1Buttons(ActionEvent event){
switch (event.getSource()){
case bt1:
lbl.setText("bt1"); break;
case bt2:
lbl.setText("bt2"); break;
case bt3:
lbl.setText("bt3"); break;
}
}
Нельзя использовать такие объекты в свиче. Из документации: The type of the Expression must be char, byte, short, int, Character, Byte, Short, Integer, String, or an enum type (§8.9), or a compile-time error occurs...
Решение нашел.
public void onClickTab1Buttons(ActionEvent event){
Object obj = event.getSource();
Button btn = (Button) obj;
switch (btn.getId()){
case "bt1":
lbl.setText("bt1"); break;
case "bt2":
lbl.setText("bt2"); break;
case "bt3":
lbl.setText("bt3"); break;
}
}
Так работает
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости