1
我想在鼠标移动到屏幕边缘时显示(加载)菜单,并在鼠标离开屏幕边缘时隐藏(移除)屏幕。我正试图实现这个视频https://www.youtube.com/watch?v=5GsdaZWDcdY(前进6分钟)中看到的内容。JavaFX当鼠标移动到屏幕边缘时显示菜单
当Welcome.fxml屏幕没有位于屏幕边缘的孩子时,它工作正常。但是,当鼠标移过任何子节点时,它将停止读取StackPane上的X,Y坐标(基数)。我不能使用鼠标透明,因为有些子节点是需要使用鼠标事件的按钮。
感谢任何可以帮助我实现这一目标的建议或参考资料。谢谢。
公共类主要扩展应用{
StackPane base = new StackPane();
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Welcome.fxml"));
base.getChildren().add(root);
Scene scene = new Scene(base);
stage.setScene(scene);
stage.show();
VBox menu = FXMLLoader.load(getClass().getResource("Menu.fxml"));
base.setOnMouseMoved((event) -> {
if (event.getScreenX() < 40) {
if (!base.getChildren().contains(menu)) {
base.getChildren().add(menu);
base.setAlignment(menu, Pos.TOP_LEFT);
}
} else {
if (base.getChildren().contains(menu)) {
base.getChildren().remove(menu);
}
}
});
}