Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4788054

JFileChooser filter throws exception on filter *.*) on Windows

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.4.1
    • client-libs



      Name: jk109818 Date: 12/03/2002


      FULL PRODUCT VERSION :
      java version "1.4.0_03"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_03-b04)
      Java HotSpot(TM) Client VM (build 1.4.0_03-b04, mixed mode)
      AND
      java version "1.4.1_01"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
      Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

      FULL OPERATING SYSTEM VERSION :
      Microsoft Windows 2000 [Version 5.00.2195]

      ADDITIONAL OPERATING SYSTEMS :
      NONE


      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Win 2k service pack 3


      A DESCRIPTION OF THE PROBLEM :
      Accidently typed *.*) into the file chooser and an exception
      was thrown. This behavior can be seen in the shipped
      MetalWorks demo jar file

      NOTE: Tried this on Linux also and it did not throw an exception

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Start MetalWorks demo shipped with JDK
      2. Open file
      3. Type *.*) as the file
      4. See the caught regexp exception (this should be handled
      silently)

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      No exception thrown to user
      (This is the behavior on Linux)

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      C:\java\jdk1.4.0\demo\jfc\Metalworks>java -jar Metalworks.jar
      Exception occurred during event dispatching:
      java.util.regex.PatternSyntaxException: Unmatched closing ')' near index 4
      .*..*)
          ^
              at java.util.regex.Pattern.error(Pattern.java:1472)
              at java.util.regex.Pattern.compile(Pattern.java:1262)
              at java.util.regex.Pattern.<init>(Pattern.java:1013)
              at java.util.regex.Pattern.compile(Pattern.java:783)
              at javax.swing.plaf.basic.BasicFileChooserUI$GlobFilter.setPattern(Basic
      FileChooserUI.java:913)
              at javax.swing.plaf.basic.BasicFileChooserUI$ApproveSelectionAction.acti
      onPerformed(BasicFileChooserUI.java:756)
              at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1502)
              at javax.swing.JComponent.processKeyBinding(JComponent.java:2422)
              at javax.swing.JComponent.processKeyBindings(JComponent.java:2468)
              at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
              at java.awt.Component.processEvent(Component.java:4831)
              at java.awt.Container.processEvent(Container.java:1525)
              at java.awt.Component.dispatchEventImpl(Component.java:3527)
              at java.awt.Container.dispatchEventImpl(Container.java:1582)
              at java.awt.Component.dispatchEvent(Component.java:3368)
              at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.ja
      va:1700)
              at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboard
      FocusManager.java:568)
              at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeybo
      ardFocusManager.java:740)
              at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeybo
      ardFocusManager.java:673)
              at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFoc
      usManager.java:534)
              at java.awt.Component.dispatchEventImpl(Component.java:3397)
              at java.awt.Container.dispatchEventImpl(Container.java:1582)
              at java.awt.Window.dispatchEventImpl(Window.java:1586)
              at java.awt.Component.dispatchEvent(Component.java:3368)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
              at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
      read.java:191)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
      ad.java:144)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
      ad.java:134)
              at java.awt.Dialog.show(Dialog.java:524)
              at javax.swing.JFileChooser.showDialog(JFileChooser.java:696)
              at javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:599)
              at MetalworksFrame.openDocument(MetalworksFrame.java:243)
              at MetalworksFrame$3.actionPerformed(MetalworksFrame.java:102)
              at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
      67)
              at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
      ctButton.java:1820)
              at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
      .java:419)
              at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257
      )
              at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
              at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1
      096)
              at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseRelease
      d(BasicMenuItemUI.java:932)
              at java.awt.Component.processMouseEvent(Component.java:5022)
              at java.awt.Component.processEvent(Component.java:4819)
              at java.awt.Container.processEvent(Container.java:1525)
              at java.awt.Component.dispatchEventImpl(Component.java:3527)
              at java.awt.Container.dispatchEventImpl(Container.java:1582)
              at java.awt.Component.dispatchEvent(Component.java:3368)
              at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3359
      )
              at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3074)

              at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3004)
              at java.awt.Container.dispatchEventImpl(Container.java:1568)
              at java.awt.Window.dispatchEventImpl(Window.java:1586)
              at java.awt.Component.dispatchEvent(Component.java:3368)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
              at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
      read.java:191)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
      ad.java:144)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)

              at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      See the MetalWorks demo jar shipped with JDK
      ---------- END SOURCE ----------

      CUSTOMER WORKAROUND :
      Our own try catch to silence this
      (Review ID: 178513)
      ======================================================================

            leifs Leif Samuelsson (Inactive)
            jkimsunw Jeffrey Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: