Как сделать сцену MouseTransparent в JavaFXJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как сделать сцену MouseTransparent в JavaFX

Сообщение Anonymous »


Я хотел создать приложение JavaFX, которое отображало бы перекрестие в середине экрана, но всякий раз, когда я навожу курсор на ImageView, я не могу выполнять фоновые задачи, поскольку оно блокирует события мыши.

Я пробовал использовать Node#setMouseTransparent, но это не сработало, то же самое касается Scene.setFill(null)

Это код, который у меня сейчас есть:

Private void setStageProperties() { Экран экрана = Screen.getPrimary(); Rectangle2D границы = screen.getBounds(); stage.setWidth(bounds.getWidth()); stage.setHeight(bounds.getHeight()); Сцена сцена = новая сцена (это); сцена.setFill(ноль); stage.setScene(сцена); stage.setAlwaysOnTop(истина); this.primary = новый этап(); первичный.initStyle(StageStyle.UTILITY); первичный.setOpacity(0); первичный.setHeight(0); первичный.setWidth(0); первичный.шоу(); stage.initOwner(основной); stage.initStyle(StageStyle.TRANSPARENT); двойной центрX = границы.getMinX() + границы.getWidth()/2; двойной центрY = границы.getMinY() + границы.getHeight()/2; stage.setX(centerX - stage.getWidth()/2); stage.setY(centerY - stage.getHeight()/2); } public CrosshairScene() { this.stage = новый этап(); this.crosshairImage = новый ImageView("crosshair.png"); this.crosshairImage.setPickOnBounds(false); this.setMouseTransparent(true); this.setCenter(crosshairImage); this.setStageProperties(); this.setStyle("-fx-background-color: null;"); } Запустить конфигурацию:


Изображение

--add-opens javafx.graphics/javafx.stage=com.example.demo --add-opens javafx.graphics/com.sun.javafx.tk.quantum=com.example.demo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»