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

Reply via email to