RFR: 6616245: NullPointerException when using JFileChooser with a custom FileView [v2]

Tejesh R tr at openjdk.org
Mon Oct 3 11:46:23 UTC 2022


On Mon, 3 Oct 2022 11:37:07 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:

>>> 
>> 
>> Prevention of not setting to null means I have to modify `JFileChooser` class itself, so just handling here. And yeah` f `can't be null, can do that.
>
> Why is it bad to modify `JFileChooser` class itself?
> 
> I think setting the current directory to `null` while it displays a directory kind of breaks the invariant.
> 
> `JFileChooser` navigated to a directory and the current directory is set to it. You tried navigating to another directory, `FileSystem` didn't allow the navigation, so `JFileChooser` continues to display the files in the directory that is showed before. Thus, the current directory hasn't changed. From this point of view, the current directory should remain unchanged.

https://github.com/openjdk/jdk/blob/ccc1d3169691d066c08e294f5d989b007bfab114/src/java.desktop/share/classes/javax/swing/JFileChooser.java#L608
Here the above logic checks if the current selected directory is traversable and if not it goes up to parent directory till top level and when every check fails then null is set to `currentDirectory`. Should we think of modifying this logic to not to set to null, rather remain in previously valid folder......?

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

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



More information about the client-libs-dev mailing list