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.
------------- Commit messages: - Fix + Test Changes: https://git.openjdk.org/jdk/pull/16068/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16068&range=00 Issue: https://bugs.openjdk.org/browse/JDK-4365952 Stats: 184 lines in 9 files changed: 182 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/16068.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/16068/head:pull/16068 PR: https://git.openjdk.org/jdk/pull/16068
