Я создаю много кнопок в JavaFX, я пытаюсь сделать код короче.Я попытался использовать оператор switch, но, к сожалению, не получил результата, так как получил ошибку: constant expression required
Object source = e.getSource();
switch (source) {
case equals(leftPerent):
appendText("(");
default:
break;
}
Мой текущий рабочий код просто пишет тонны операторов if, возможно ли его сократить?
@FXML
private Button num1, num2, num3;
public void onNumberButtonClick(ActionEvent e) {
if (e.getSource().equals(num1)) {
appendText("1");
}
if (e.getSource().equals(num2)) {
appendText("2");
}
if (e.getSource().equals(num3)) {
appendText("3");
}
}
Файл FXML:
<Button text="1" fx:id="num1" onAction="#onNumberButtonClick" GridPane.columnIndex="0" GridPane.rowIndex="0" alignment="CENTER"></Button>
<Button text="2" fx:id="num2" onAction="#onNumberButtonClick" GridPane.columnIndex="1" GridPane.rowIndex="0"></Button>
<Button text="3" fx:id="num3" onAction="#onNumberButtonClick" GridPane.columnIndex="2" GridPane.rowIndex="0"></Button>