我已经使用 SceneBuilder 在 Java FX 中启动了一个 TicTacToe 项目。
FXML 仅包含 GridPane
内的 3x3 按钮网格。
我想做的是创建一种“通用”方法,以便当按下其中一个按钮时,它会将其文本更改为“O”或“X”,前提是它尚未分配给任何一个按钮一个。
类似这样的
private void onButtonClick(){
if (btn00.getText() == null)
btn00.setText("X or O");
}
其中 btn00
不是按钮的具体名称,而是选定的按钮,如 someTableView.getSelectionModel()
... 适用于 TableView
。
最佳答案
假设所有这些按钮都有 onButtonClick
方法注册为 onAction
事件处理程序,您可以添加 ActionEvent
参数并检索Button
来自source
属性。
private void onButtonClick(ActionEvent event) {
Button button = (Button) event.getSource();
if (button.getText() == null || button.getText().isEmpty()) {
button.setText("X or O");
}
}
关于Java FX "mass"处理按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50124007/