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.



Reply via email to