Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
        at XRSystem.GUI.StoreXMLFrame.openFile(StoreXMLFrame.java:189) 
        at XRSystem.GUI.StoreXMLFrame.jButton1ActionPerformed(StoreXMLFrame.java:144) 
        at XRSystem.GUI.StoreXMLFrame.access$000(StoreXMLFrame.java:29) 
        at XRSystem.GUI.StoreXMLFrame$1.actionPerformed(StoreXMLFrame.java:58) 
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) 
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) 
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) 
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) 
        at java.awt.Component.processMouseEvent(Component.java:6038) 
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) 
        at java.awt.Component.processEvent(Component.java:5803) 
        at java.awt.Container.processEvent(Container.java:2058) 
        at java.awt.Component.dispatchEventImpl(Component.java:4410) 
        at java.awt.Container.dispatchEventImpl(Container.java:2116) 
        at java.awt.Component.dispatchEvent(Component.java:4240) 
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) 
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) 
        at java.awt.Container.dispatchEventImpl(Container.java:2102) 
        at java.awt.Window.dispatchEventImpl(Window.java:2429) 
        at java.awt.Component.dispatchEvent(Component.java:4240) 
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) 
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) 
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) 
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) 
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) 
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) 

解决方案 »

  1.   

     是不是以下代码有问题,要怎么修改? 
    private void openFile() { 
            JFileChooser chooser = new JFileChooser(); 
            chooser.setCurrentDirectory(new File(".")); 
             
            chooser.setFileFilter(new 
                    javax.swing.filechooser.FileFilter() { 
                public boolean accept(File f) { 
                    return f.isDirectory()  ¦ ¦ f.getName().toLowerCase().endsWith(".xml"); 
                } 
                public String getDescription() { return "XML files"; } 
            }); 
            int r = chooser.showOpenDialog(this); 
            if (r != JFileChooser.APPROVE_OPTION) return; 
            File f = chooser.getSelectedFile(); 
            FilePath = f.getAbsolutePath(); 
          /* 
            try{ 
                URL FileURL = new URL("file://"+FilePath); 
            }catch(Exception e) { 
                JOptionPane.showMessageDialog(this, e); 
            } 
            */ 
            try { 
                byte[] bytes = new byte[(int) f.length()]; 
                new FileInputStream(f).read(bytes); 
                jTextPane1.setText(new String(bytes)); 
                doc = builder.parse(f); 
            } catch (IOException e) { 
                JOptionPane.showMessageDialog(this, e); 
            } catch (SAXException e) { 
                JOptionPane.showMessageDialog(this, e); 
            } 
        }
      

  2.   

    doc = builder.parse(f);  
    应该是这行的问题,高手指教下啊
      

  3.   

    在使用调用获取的方法前做个判断就可以了, if(f!==null){...}
      

  4.   

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException  
            at XRSystem.GUI.StoreXMLFrame.openFile(StoreXMLFrame.java:189)  StoreXMLFrame.java第189行某个变量为null 你却调用了他的方法