异常信息:
         Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at clientcommunication.ConnectSever.Sendmessage(ConnectSever.java:52)
at clientinterface.Register.actionPerformed(Register.java:115)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
clientinterface.Register.actionPerformed(Register.java:115)类:
          public class Register extends JFrame implements ActionListener { /**
 * 
 */
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JLabel label_4;
private JPasswordField passwordField;
private JPasswordField passwordField_1;
private JButton button;
private JButton button_1; /**
 * Create the frame.
 */
public Register() {
//
} @Override
public void actionPerformed(ActionEvent e) {

if (e.getSource() == button)
{
ConnectSever.Sendmessage("注册");
//ConnectSever.Sendmessage("注册");
//String RM=ClientDataconvercheck.checkregister(textField.getText(), textField_1.getText(), textField_2.getText(), textField_3.getText(), passwordField.getPassword(), passwordField_1.getPassword());
//ConnectSever.Sendmessage(RM);
}else if(e.getSource() == button_1)
{
 this.dispose();
}
}
}clientcommunication.ConnectSever.Sendmessage(ConnectSever.java:52)[/         /**
 * 发送消息
 * @param message
 */
public static void Sendmessage(String message)
{
try {
Output.writeUTF(message);
} catch (IOException e) {
e.printStackTrace();
}
}
想知道的:
         问题具体是什么(最好是指出位置,给予说明 方便其他人);
         怎么产生的;
         该怎么解决;
         更不懂得是 在其他类似地方尽然不会出错。

解决方案 »

  1.   

    额显示不出来,应该这里:
    【code=Java】
    【/code】
    方括号换成 阿司克码 里的 []就有格式了     你这乱的,一看就不想看咯
      

  2.   

    Exception in thread "AWT-EventQueue-0"应该是由于java.lang.NullPointerException异常所造成的。executeUpdate是更新数据库调用的,你插入数据就是有更新数据库操作了所以有返回值的,就不会抛异常。
    当你进行的是查询操作,当然返回值为null,所以会抛异常,查询的时候应该用execute方法。
    执行数据库完数据库操作完成后,要关闭连接。 
      

  3.   

    我认为异常是由多线程造成的,异常信息也很清楚,component的子组件下标越界。原因是你的子弹啊什么的都是label,然后你不断的在多线程的情况下添组件,删组件,使得游戏面板上的组件数量不一致。但是很不好意思,我没办法改正确,我尝试给paint加了锁,在remove后面按照api讲的填了validate方法,结果还是会错。我现在只能给一点建议,我感觉代码中对repaint的调用很乱,到处都是,其实应该是没必要的吧,你可以把要执行的游戏逻辑都完成了,再一起重绘。你也看到了,出错的就是在paint中,所以不知道是不是这个问题。当然,这些逻辑只有你自己最清楚,我一时半会儿是不可能搞明白的,所以这重构工作么还得你自己来。单纯从这个异常信息来看是很难判断的,空指针异常具体的还是要根据具体的代码DEBUG调试才能找到准确的出错位置希望我的回答对你有所帮助,O(∩_∩)O~