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.   

    是不是以下代码有问题,要怎么修改?  
    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);  
            }  
        }