RFR: 8356594: JSplitPane loses divider location when reopened via JOptionPane.createDialog() [v2]
Alexander Zuev
kizune at openjdk.org
Thu May 22 16:13:55 UTC 2025
On Tue, 20 May 2025 04:34:36 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> The issue is when a JSplitPane is embedded inside a lazily-initialized panel, and this panel is displayed using a dialog created via JOptionPane.createDialog(), the divider location is not preserved when reopening the dialog.
>> This is because when we added support for ComponentOrientation for JSplitPane, even though the left and right compoent is drawn the divider location is not set and was set to initial value and not to the value set by user.
>> Fixed by setting the divider location before rendering the left and right components..
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>
> Click position fixed..L&F iteration
test/jdk/javax/swing/JSplitPane/TestSplitPaneResetDividerLoc.java line 80:
> 78: System.out.println("Testing LAF : " + laf.getClassName());
> 79: try {
> 80: setLookAndFeel(laf);
If setLookAndFeel encounters UnsupportedLookAndFeelException we will output the exception into stdout but we will do the entire test again with the previously installed LAF. Shall we do so? If we consider that exception as non-fatal for the test maybe we can make setLookAndFeel method boolean instead of void returning true only if it was successfully installed new LAF and skip test iteration if it returns false?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25294#discussion_r2102938557
More information about the client-libs-dev
mailing list