<Swing Dev> [9] Review request for 8152677 [macosx] All files filter can't be selected in JFileChooser
Alexander Scherbatiy
alexandr.scherbatiy at oracle.com
Fri Apr 15 16:22:35 UTC 2016
On 15/04/16 18:27, Sergey Bylokhov wrote:
> Is it possible that default selection of FileChooser will be different
> from "acceptAllFileFilter"?
When a JFileChooser is created it always adds Accept All file filter
in the constructor because useAcceptAllFileFilter filed is true by default.
Because of this the AquaFileChooserUI.FilterComboBoxModel initially
has the Accept All file filter as the first item.
After that it is possible to unset the Accept All file filter by
calling JFileChooser.setAcceptAllFileFilterUsed(false).
Thanks,
Alexandr.
>
> On 15.04.16 16:46, Alexander Scherbatiy wrote:
>>
>> Hello,
>>
>> Could you review the fix:
>> bug: https://bugs.openjdk.java.net/browse/JDK-8152677
>> webrev: http://cr.openjdk.java.net/~alexsch/8152677/webrev.00
>>
>> FilterComboBoxModel from AquaFileChooserUI overrides
>> getSelectedItem() method to always return the selected filter from the
>> file chooser.
>>
>> JFileChooser.setFileFilter(FileFilter) first assign the passed filter
>> to fileFilter field and then fire "fileFilterChanged" property change
>> event. This leads that FilterComboBoxModel compares new file filter with
>> the selected one (which has the same value because it is obtained from
>> JFileChooser.fileFilter field) and do not updated JComboBox internal
>> structure so JComboBox.selectedItemReminder field still points to the
>> old one.
>>
>> When a user selects “All Files” filter which is the first item from a
>> JFileChooser the JComboBox does not fire the action event because
>> selectedItemReminder points to the same first item.
>>
>> The proposed solution is to remember the previous selected item in
>> the AquaFileChooserUI.FilterComboBoxModel.
>>
>> Thanks,
>> Alexandr.
>
>
More information about the swing-dev
mailing list