我正在制作一个基本的计算器,但我不确定如何检查是否单击了某个 Button
。我想使用 Button 对象数组,然后检查单击的按钮是否与数组中的按钮对象匹配。我的代码如下。
Button[] digitButtons = { bt0, bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9 };
for (int index = 0; index < 9; index++) {
int position = -1;
if (buttonClicked == digitButtons[index]) {
position = index;
break;
}
}
最佳答案
这是一个例子:
public class Main extends Application {
private int lastClickedIndex = -1;
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 400, 400);
Button[] digitButtons = new Button[10];
for(int i = 0; i < 10; i++) {
final int buttonInd = i;
digitButtons[i] = new Button(Integer.toString(i));
digitButtons[i].setOnAction(e -> {
System.out.println("Button pressed " + ((Button) e.getSource()).getText());
lastClickedIndex = buttonInd;
});
}
root.setCenter(new HBox(digitButtons));
primaryStage.setScene(scene);
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
注意:不需要获取索引,因为 Button
已准确指定为事件源:e.getSource()
。
关于java - 使用 JavaFX 检查单击了哪个 Button 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967789/