JavaFx – 将两个’setOnAction’设置为相同的按钮
发布时间:2020-12-15 04:27:03 所属栏目:Java 来源:网络整理
导读:我从另一个类获取EventHandler,我想将此EventHandler和其他ActionEvent设置为相同的按钮.有可能的? 代码如下. 按钮是:“btnAdd”. public void addActionListener(EventHandlerActionEvent eventHandlerSetNotSave){ btnAdd.setOnAction((e)- { FileChoose
我从另一个类获取EventHandler,我想将此EventHandler和其他ActionEvent设置为相同的按钮.有可能的?
代码如下. public void addActionListener(EventHandler<ActionEvent> eventHandlerSetNotSave){ btnAdd.setOnAction((e)-> { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open Resource File"); FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("pictures file format","*.TIF","*.JPG","*.PNG","*.GIF","*.JEPG"); fileChooser.getExtensionFilters().addAll(extFilter); File file = fileChooser.showOpenDialog(null); if (file != null && url.equals(emptyImageUrl)? true:alertMessageWarning("The viseme will change,and previous viseme will be delete.")) { setImage("file:"+file.toString()); changeAfterSaved=false; } }); btnAdd.setOnAction(eventHandlerSetNotSave); btnDelete.setOnAction((e)-> { changeAfterSaved=true; setImage(emptyImageUrl); }); } 解决方法
调用addEventHandler()方法而不是setOnAction(…):
btnAdd.addEventHandler(ActionEvent.ACTION,(e)-> { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open Resource File"); FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("pictures file format","*.JEPG"); fileChooser.getExtensionFilters().addAll(extFilter); File file = fileChooser.showOpenDialog(null); if (file != null && url.equals(emptyImageUrl)? true:alertMessageWarning("The viseme will change,and previous viseme will be delete.")) { setImage("file:"+file.toString()); changeAfterSaved=false; } }); btnAdd.addEventHandler(ActionEvent.ACTION,eventHandlerSetNotSave); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |