读书人

JBUILDER空指针错误求帮助

发布时间: 2012-01-24 23:11:54 作者: rapoo

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();
}

读书人网 >J2SE开发

热点推荐