我是想写一个登录界面,如现有两个界面:UserLogin和MainPage
          我要在UserLogin里单击一个按钮进入MainPage界面我的代码如下:
        mainFrame.setVisible(true);//mainFrame是MainPage的引用
si.closeConnection();//关闭连接
this.dispose();//消除对像
在mainFrame.setVisible(true)这一行抛了异常:
        Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at liu.model.UserLogin.actionPerformed(UserLogin.java:112)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19
95)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.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(EventDispatchThre
ad.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.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.   

    at liu.model.UserLogin.actionPerformed(UserLogin.java:112) 去看看 UserLogin.java 的112行
      

  2.   

    可能是1.mainframe里面的控件没有用new;
    2.查询写成executeupdate
      

  3.   

    executeUpdate是更新数据库调用的,你插入数据就是有更新数据库操作了所以有返回值的,就不会抛异常。 
    当你进行的是查询操作,当然返回值为null,所以会抛异常,查询的时候应该用execute方法。 
      

  4.   

    嘿嘿,一个execute的用法就让LZ累了一个晚上啊!
    精神可佳啊!
      

  5.   

    小弟初学,请多多指教.  我感觉我是连上了数据库的,用户名和密码都能下确验证.就是单击登录按钮时进不了另一个界面而是抛出了异常,就是上面这个异
     at liu.model.UserLogin.actionPerformed(UserLogin.java:112) 这行所指的就是下面这行mainFrame.setVisible(true);//mainFrame是MainPage的引用,即另一个界面对像的引用.
      

  6.   

    mainFrame一定是空,你可以在那行的上面打一下
    System.out.println(mainFrame);//应该是nullmainFrame.setVisible(true);