RFR: 4365952: Cannot disable JFileChooser [v3]

Tejesh R tr at openjdk.org
Tue Oct 17 04:40:05 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.

Tejesh R has updated the pull request incrementally with one additional commit since the last revision:

  Updated test for multiple L&F

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/16068/files
  - new: https://git.openjdk.org/jdk/pull/16068/files/ea9a2ba7..c236b023

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16068&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16068&range=01-02

  Stats: 87 lines in 1 file changed: 50 ins; 23 del; 14 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