首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JBUILDER空指针错误,求帮助

2012-01-24 
JBUILDER空指针异常,急求帮助用JBUILDER2005做个小的聊天软件,但是却总是出现java.lang.NullPointerExcept

JBUILDER空指针异常,急求帮助
用JBUILDER2005做个小的聊天软件,但是却总是出现java.lang.NullPointerException异常,网上有高手说debug以下,可小弟初学,不懂怎样debug,哪位高人能否帮忙DEBUG以下,找出错误,感激不尽!


package   simpletalk;

import   java.awt.*;
import   javax.swing.*;
import   com.borland.jbcl.layout.XYLayout;
import   com.borland.jbcl.layout.*;
import   java.net.*;
import   java.awt.event.ActionEvent;
import   java.awt.event.ActionListener;

/**
  *   <p> Title:   </p>
  *
  *   <p> Description:   </p>
  *
  *   <p> Copyright:   Copyright   (c)   2007 </p>
  *
  *   <p> Company:   </p>
  *
  *   @author   not   attributable
  *   @version   1.0
  */
public   class   Frame1
        extends   JFrame   {
    JPanel   contentPane;
    XYLayout   xYLayout1   =   new   XYLayout();
    JButton   jButton1   =   new   JButton();
    JLabel   jLabel1   =   new   JLabel();
    JLabel   jLabel2   =   new   JLabel();
    JScrollPane   jScrollPane1   =   new   JScrollPane();
    JTextArea   jTextArea1   =   new   JTextArea();
    XYLayout   xYLayout2   =   new   XYLayout();
    JScrollPane   jScrollPane2   =   new   JScrollPane();
    JTextArea   jTextArea2   =   new   JTextArea();
    DatagramPacket   sendPacket,receivePacket;
    DatagramSocket   sender,receiver;
    JTextField   jTextField1   =   new   JTextField();
    public   Frame1()   {
        try   {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
            startChat();
        }
        catch   (Exception   exception)   {
            exception.printStackTrace();
        }
    }

    /**
      *   Component   initialization.
      *
      *   @throws   java.lang.Exception
      */
    private   void   jbInit()   throws   Exception   {
        contentPane   =   (JPanel)   getContentPane();
        contentPane.setLayout(xYLayout2);
        setSize(new   Dimension(400,   300));
        setTitle( "Frame   Title ");
        jButton1.setText( "发送 ");
        jButton1.addActionListener(new   Frame1_jButton1_actionAdapter(this));
        jLabel1.setText( "好友 ");
        jLabel2.setText( "消息 ");
        jTextField1.setText( "jTextField1 ");
        jTextArea2.setText( "按当地 ");
        jTextArea1.setText( "达到 ");
        contentPane.add(jLabel2,   new   XYConstraints(24,   232,   -1,   -1));


        contentPane.add(jLabel1,   new   XYConstraints(83,   15,   -1,   -1));
        contentPane.add(jButton1,   new   XYConstraints(297,   231,   -1,   -1));
        jScrollPane2.getViewport().add(jTextArea2);

        contentPane.add(jScrollPane1,   new   XYConstraints(108,   71,   176,   69));
        contentPane.add(jTextField1,   new   XYConstraints(4,   146,   -1,   -1));
        jScrollPane1.getViewport().add(jTextArea1);
        contentPane.add(jScrollPane2,   new   XYConstraints(69,   196,   179,   87));
    }
    public   void   startChat()
    {
        try{
            sender=new   DatagramSocket();
            receiver=new   DatagramSocket(6666);
            receiver1   r=new   receiver1();
            Thread   t=new   Thread(r);
            t.start();

        }catch(Exception   e)
        {JOptionPane.showMessageDialog(this, "连接错误 "+e.toString());}
    }

    public   void   jButton1_actionPerformed(ActionEvent   e)   {
        try{String   dest=jTextField1.getText();
        String   message=jTextArea2.getText();
        if(!dest.equals( " "))
                                        {


                                            jTextArea1.append( "\n到 "+receivePacket.getAddress()+ ": "+message);
                                            byte   data[]=message.getBytes();
                                            sendPacket=new   DatagramPacket(data,data.length,InetAddress
                                                    .getByName(dest),7777);

                                            sender.send(sendPacket);
                                                }

        }
        catch(Exception   ue){}

    }

    class   receiver1   implements   Runnable
    {public   void   run()
    {
        while(true)
        {
            try
            {


                byte   mess[]=new   byte[200];
                receivePacket=new   DatagramPacket(mess,mess.length);
                receiver.receive(receivePacket);
                jTextArea1.append( "\n来自 "+receivePacket.getAddress()+ ": ");
                byte   data[]=receivePacket.getData();
                String   message=new   String(data);
                jTextArea1.append(message);

            }
            catch(Exception   e){}
        }
    }
    }

}

class   Frame1_jButton1_actionAdapter
        implements   ActionListener   {
    private   Frame1   adaptee;
    Frame1_jButton1_actionAdapter(Frame1   adaptee)   {
        this.adaptee   =   adaptee;
    }

    public   void   actionPerformed(ActionEvent   e)   {
        adaptee.jButton1_actionPerformed(e);
    }
}


[解决办法]
调试解决~~
[解决办法]
我晕,你main函数都没有,能调试?

加上这个吧:
public static void main(String[] args)
{
new Frame1();
}

热点排行