我在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();
}
});
}
所有代码
您的问题是您使用了错误的MouseEvent
。您应该使用 javafx.scene.input.MouseEvent
而不是java.awt.event.MouseEvent
,因为您使用 JavaFX。