RFR: 4834298: JFileChooser.getSelectedFiles() failed with multi-selection and double-click [v3]

Jayathirth D V jdv at openjdk.org
Thu Sep 8 09:56:59 UTC 2022


On Tue, 6 Sep 2022 11:14:49 GMT, Tejesh R <tr at openjdk.org> wrote:

>> JFileChooser.getSelectedFiles() failed to retrieve files with multi-selection and double-click. This occurs when a single file is selected then enable multi-selection then select the same file through mouse double-click(Two file chooser dialogs used before and after multi-selection enabled). SelectedFiles are updated when a change in files/directory selection is done or when selection is made through keyboard selection. In this case since a single file is selected before multi-selection is enabled and same file is selected again without changing the selection index/directory, leaving selected Files un-updated. 
>> **Proposed Fix** : Whenever Multi-Selection is enabled check if any files are selected, if yes update the selected Files of JFileChoooser.
>
> Tejesh R has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Updated based on review comments

test/jdk/javax/swing/JFileChooser/MultiSelectionEnabledSelectedFilesTest.java line 39:

> 37:  * @run main/manual MultiSelectionEnabledSelectedFilesTest
> 38:  */
> 39: public class MultiSelectionEnabledSelectedFilesTest {

Is this bug specific to any platform?
Because the test is created to run on all platforms and it doesnt fail in my Mac.

test/jdk/javax/swing/JFileChooser/MultiSelectionEnabledSelectedFilesTest.java line 56:

> 54:     static void runTest() {
> 55:         //Initialize the components
> 56:         String INSTRUCTIONS

Instruction should be updated to specify that we need to use double-click.
Also when i select a file using double click in first and then select same file using double-click(without moving mouse) test doesnt exit. JFileChooser second dialog just stays on the screen.

test/jdk/javax/swing/JFileChooser/MultiSelectionEnabledSelectedFilesTest.java line 87:

> 85:         File[] files = chooser.getSelectedFiles();
> 86: 
> 87:         if (files.length <= 0) {

Can File[] length be negative? I think just a "==" to "0" check should suffice.

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

PR: https://git.openjdk.org/jdk/pull/9996



More information about the client-libs-dev mailing list