RFR: 4365952: Cannot disable JFileChooser

Tejesh R tr at openjdk.org
Fri Oct 6 05:18:18 UTC 2023


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


More information about the client-libs-dev mailing list