On Sat, 28 Oct 2023 07:22:02 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

>> FX Nodes embedded in a Swing JFXPanel does not track the component 
>> orientation and FX nodes remain unaffected when component orientation 
>> changes.
>> Fix made sure JavaFX scene embedded in a JFXPanel should inherit the value 
>> from the JFXPanel.
>
> Prasanta Sadhukhan has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   jcheck

I left some comments. This is heading in the right direction, but needs some 
adjustments.

modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/EmbeddedStage.java
 line 284:

> 282:     }
> 283: 
> 284:     NodeOrientation orientation;

Move this to `com.sun.javafx.stage.EmbeddedWindow`.

modules/javafx.graphics/src/main/java/javafx/scene/Scene.java line 6352:

> 6350:                     parent = ((Stage)window).getOwner();
> 6351:                 } else if (window instanceof 
> com.sun.javafx.embed.EmbeddedSceneInterface) {
> 6352:                     return 
> ((com.sun.javafx.embed.EmbeddedStageInterface)window).getNodeOrientation();

This is the right idea, but the wrong type. The window, which is a 
`javafx.scene.Window` will never be an instance of `EmbeddedSceneInterface` 
which is a `GlassStage` peer. In the case of `JFXPanel`, the window will be a 
`com.sun.javafx.stage.EmbeddedWindow`.

modules/javafx.swing/src/main/java/javafx/embed/swing/JFXPanel.java line 818:

> 816:             if (!cor.equals(ComponentOrientation.UNKNOWN)) {
> 817:                 boolean rtl = 
> cor.equals(ComponentOrientation.RIGHT_TO_LEFT);
> 818:                 stagePeer.setNodeOrientation(rtl ? 
> NodeOrientation.RIGHT_TO_LEFT :

You should set it on the `stage` not the `stagePeer`.

-------------

PR Review: https://git.openjdk.org/jfx/pull/1271#pullrequestreview-1702836662
PR Review Comment: https://git.openjdk.org/jfx/pull/1271#discussion_r1375313915
PR Review Comment: https://git.openjdk.org/jfx/pull/1271#discussion_r1375303233
PR Review Comment: https://git.openjdk.org/jfx/pull/1271#discussion_r1375306798

Reply via email to