The below program shows a transparent (opacity = 0) rectangle and a circle inside it. Rectangle and Circle are part of a group present in a transparent stage. Mouse entered and exited events are not triggered correctly for the group - they are not consistently triggered.
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.shape.*;
import javafx.scene.paint.*;
import javafx.scene.input.*;
import java.lang.System;
Stage {
style: StageStyle.TRANSPARENT
width: 500
height: 500
scene: Scene {
fill: null
content: Group {
onMouseEntered: function(e: MouseEvent) {
System.out.println("Group mouseEntered");
}
onMouseExited: function(e: MouseEvent) {
System.out.println("Group mouseExited");
}
content: [Rectangle {
opacity: 0
width: 300
height: 300
x: 100
y: 100
}, Circle {
radius: 50
centerX: 250
centerY: 250
fill: Color.BLUE
}]
}
}
}
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.shape.*;
import javafx.scene.paint.*;
import javafx.scene.input.*;
import java.lang.System;
Stage {
style: StageStyle.TRANSPARENT
width: 500
height: 500
scene: Scene {
fill: null
content: Group {
onMouseEntered: function(e: MouseEvent) {
System.out.println("Group mouseEntered");
}
onMouseExited: function(e: MouseEvent) {
System.out.println("Group mouseExited");
}
content: [Rectangle {
opacity: 0
width: 300
height: 300
x: 100
y: 100
}, Circle {
radius: 50
centerX: 250
centerY: 250
fill: Color.BLUE
}]
}
}
}
- relates to
-
JDK-8104966 Some mouse events are being triggered on Mac even as events are passed onto the native layer at very low opacity levels for a transparent Frame.
-
- Closed
-