【发布时间】:2015-06-25 15:56:31
【问题描述】:
我在 UI 的 HBox 中存在的 java fx 中有一个按钮,我想在单击同一个按钮时删除该按钮。我已经编写了相同的操作事件:
@FXML
private HBOx projectlist;
String buttonid;
字符串按钮名; /** * 初始化控制器类。 */ @FXML 公共按钮删除;
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
buttonid= button.getId();
buttoname = button.getText();
projectlist.getChildren().remove(buttoname);
}
});
实际上问题是我在此函数中从其他控制器获取按钮,我无法在另一个按钮(删除)操作事件中使用该按钮,尽管我可以在删除操作事件中使用 buttonid 变量:public void setButton(Button button,String buttonname) {
projectlist.setSpacing(10);
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
buttonid= button.getId();
buttoname = button.getText();
}
});
projectlist.getChildren().add(button);
} @FXML
private void gotoDelete(ActionEvent event) throws IOException{
ProjectModule.DeleteProject(Integer.parseInt(buttonid));
projectlist.getChildren().remove(button);
}
【问题讨论】: