我不是Java的超级高级,但是我正在学习如何使用Lambda表达式。但我的代码中有一个错误,我似乎无法通过谷歌搜索来修复它。有人能指出我正确的方向。
@FXML
private JFXHamburger fxHamburger;
@FXML
private JFXDrawer fxDrawer;
@Override
public void initialize(URL url, ResourceBundle rb) {
System.out.println(System.getProperty("java.version"));
HamburgerBackArrowBasicTransition menuTask = new HamburgerBackArrowBasicTransition(fxHamburger);
menuTask.setRate(-1);
fxHamburger.addEventHandler(MouseEvent.MOUSE_PRESSED, (e) -> {
menuTask.setRate(menuTask.getRate() * -1);
menuTask.play();
if (fxDrawer.isShown()) {
fxDrawer.close();
}else{
fxDrawer.open();
}
});
}
答案 0 :(得分:1)
您的问题是您使用的是错误的MouseEvent
。在使用JavaFX时,您应该使用javafx.scene.input.MouseEvent
而不是java.awt.event.MouseEvent
。