RFR: 8356594: JSplitPane loses divider location when reopened via JOptionPane.createDialog() [v2]

Prasanta Sadhukhan psadhukhan at openjdk.org
Wed May 21 06:38:52 UTC 2025


On Wed, 21 May 2025 04:39:33 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> > Since it is regression of 4265389: JSplitPane does not support ComponentOrientation where setComponentOrientation method is added, it made sense to me to set the divider location in that method before rendering the left and right components explicitly as it was working before that fix.
> 
> But it sets the same value that is already applied to the split pane:
> 
> > this.setDividerLocation(this.getDividerLocation());
> 
> It seems this call is required to refresh the UI of the component, which ends up with an incorrect divider location for some reason. But it is unclear whether this is actually caused by the setComponentOrientation method, since the component orientations are not changed in the test.

componentOrientation is set in `BasicOptionPaneUI.installComponent` when it calls `applyComponentOrientation` test called by JOptionPane constructor in the test...
I presume since this solves the issue (even if it means it refreshes the UI indirectly) and is localised to the method which causes this issue and there is no further issue in CI, it should be good to go..

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

PR Comment: https://git.openjdk.org/jdk/pull/25294#issuecomment-2896767507


More information about the client-libs-dev mailing list