RFR: 4365952: Cannot disable JFileChooser [v2]
Abhishek Kumar
abhiscxk at openjdk.org
Fri Oct 13 12:26:47 UTC 2023
On Wed, 11 Oct 2023 05:14:11 GMT, Tejesh R <tr at openjdk.org> wrote:
>> Invoking `setEnabled(false)` on an instance of `JFileChooser` the sub-components are unaffected since the sub-components didn't set/unset enabled explicitly. The fix address the issue and sets the Enabled flag to each sub-components. Along with setting the property to each sub components, the action listeners like mouseClick(Double too) and scroll actions has to be processed based on enabled/disabled property similar to other components. Since `JFilechooser` implementation varies based on LookAndFeel, the same had to be taken care for affected LookAndFeel also.
>> Note: `JFrame` being top level container handles frame disable using native method which couldn't be the case for `JFileChooser`. For `showDialog/showOpenDialog/showSaveDialog` the fix could be to set the one the enabled property for created single Dialog. But when an instance of `JFileChooser` is created and added to Frame (Without Dialog been created), disabling the `FileChooser` alone had to be done by handling each sub-components and listeners separately.
>
> Tejesh R has updated the pull request incrementally with one additional commit since the last revision:
>
> Review fix - if spacing
test/jdk/javax/swing/JFileChooser/FileChooserDisableTest.java line 50:
> 48: */
> 49: public class FileChooserDisableTest {
> 50: static Robot robot;
Can be a local variable in `main`.
test/jdk/javax/swing/JFileChooser/FileChooserDisableTest.java line 73:
> 71: Dimension btnSize = desktopBtn[0].getSize();
> 72: robot.mouseMove(movePoint.x + btnSize.width / 2, movePoint.y + btnSize.height / 2);
> 73: robot.delay(2000);
Do we need such large delays ?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16068#discussion_r1358184728
PR Review Comment: https://git.openjdk.org/jdk/pull/16068#discussion_r1358184227
More information about the client-libs-dev
mailing list