日期:2014-05-17  浏览次数:20705 次

我这个程序为什么编译成功,运行不了????
程序如下用JCREATOR编译成功,运行时却提示“Exception in thread "main" java.lang.NoSuchMethodError: main”错误,哪位大虾来修改解释一下?谢谢!!
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
public class liaotian extends JFrame {


JPanel contentPane;
Label label1=new Label();
Label label2=new Label();
Label label3=new Label();
Label label4=new Label();
TextField textField1=new TextField();
TextField textField2=new TextField();
TextField textField3=new TextField();
TextField textField4=new TextField();
Button button1=new Button();
Button button2=new Button();
TextArea textArea1= new TextArea();
boolean online = false;
int portIn = 5000;
int portOut=5001;
DatagramPacket sendpacket,receivepacket;
DatagramSocket sendsocket,receivesocket;
public liaotian(){}
private void toInit()throws Exception {
contentPane=(JPanel)this.getContentPane();
label1.setText("发送");
label1.setBounds(new Rectangle(13,100,60,21));
contentPane.setLayout(null);
this.setSize(new Dimension(363,320));
this.setTitle("聊天");
label2.setText("朋友IP");
label2.setBounds(new Rectangle(12,19,109,23));
label3.setText("接收端口");
label3.setBounds(new Rectangle(12,58,55,22));
label4.setText("发送端口");
label4.setBounds(new Rectangle(180,58,55,22));
textField3.setText("5000");
textField4.setText("5001");
textField2.setText("210.77.26.60");
button1.setLabel("发送");
button1.setBounds(new Rectangle(280,100,59,21));
button1.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e){
button1_actionPerformed(e);}});
button2.setLabel("连接");
button2.setBounds(new Rectangle(280,20,59,21));
button2.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e){
button2_actionPerformed(e);}});
textField4.setBounds(new Rectangle(240,58,90,22));
textField3.setBounds(new Rectangle(70,58,90,22));
textField2.setBounds(new Rectangle(123,20,120,19));
textField1.setBounds(new Rectangle(76,100,190,19));
textArea1.setBounds(new Rectangle(11,140,333,134));
textArea1.setEditable(false);
contentPane.add(label4,null);
contentPane.add(label3,null);
contentPane.add(label2,null);
contentPane.add(label1,null);
contentPane.add(textField1,null);
contentPane.add(textField2,null);
contentPane.add(textField3,null);
contentPane.add(textField4,null);
contentPane.add(textArea1,null);
contentPane.add(button1,null);
contentPane.add(button2,null);
try{
sendsocket=new DatagramSocket(5001);
receivesocket=new DatagramSocket(5000);
}
catch(SocketException se){
se.printStackTrace();
System.exit(0);
}
}
protected void processWindowEvent(WindowEvent e) {}
public void waitforpackets() {
while(true){
try{
byte[]array=new byte[100];
receivepacket=new DatagramPacket(array,array.length);
receivesocket.receive(receivepacket);
textArea1.append("\n from"+receivepacket.getAddress()
+":"+receivepacket.getPort()+"get:");
byte data[]=receivepacket.getData();
String received=new String(data,0);
t