求java高手解释下面程序的含义,说一下每一个函数的具体含义

客户端:importjava.io.*;importjava.text.*;importjava.awt.*;importjava.util.*;importjava.a... 客户端:

import java.io.*;
import java.text.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;

public class Client extends JFrame{
+ JTextArea jta;
private JTextField jtf;
private JButton jb;
private JLabel name;
private Socket s;
private PrintWriter pw;
private BufferedReader br;
private DateFormat format;
private Date date=new Date();

public Client(){
this.setSize(300,350);
this.setTitle("聊天室");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jta=new JTextArea(15,20);
jtf=new JTextField(15);
jb=new JButton("发送");
name=new JLabel(" ");
JPanel jp=new JPanel();
jp.setLayout(new FlowLayout());
jp.add(name);
jp.add(jtf);
jp.add(jb);
jb.addActionListener(new SendMessage());
this.setLayout(new BorderLayout());
this.add(jta,BorderLayout.CENTER);
this.add(jp,BorderLayout.NORTH);
getMessage();
this.setVisible(true);
}

public void getMessage(){
try{
s=new Socket("127.0.0.1",222);
pw=new PrintWriter(s.getOutputStream());
new ClientThread().start();
}catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
name.setText(JOptionPane.showInputDialog(this,"请输入姓名"));
}

class ClientThread extends Thread{
public void run(){
while(true){
try{
br=new BufferedReader(
new InputStreamReader(s.getInputStream()));
jta.append(br.readLine()+"\n");
}catch (IOException e){
e.printStackTrace();
}
}
}
}

class SendMessage implements ActionListener{
public void actionPerformed(ActionEvent e){
format=DateFormat.getTimeInstance(DateFormat.LONG);
String time=format.format(date);
pw.println(name.getText()+" "+time+"说:\n"+" "+jtf.getText()+"\n");
pw.flush();
jtf.setText(" ");
}
}

public static void main(String args[]){
new Client();
}
}
展开
 我来答
百毒bu知道
2012-10-17 · TA获得超过122个赞
知道答主
回答量:116
采纳率:100%
帮助的人:88.3万
展开全部
public Client() 构造函数 初始界面 并调用getMessage()

getMessage()启动新线程 向服务器端取数据
ClientThread就是那个新线程
SendMessage的 actionPerformed(ActionEvent e)就是点发送按钮触发的事件监听器
奋斗的时节101
2012-10-17 · 超过10用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:29万
展开全部
这是个socket通信的聊天室小程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网友TrustMe
2012-10-17
知道答主
回答量:53
采纳率:0%
帮助的人:25.5万
展开全部
你这个程序运行不成功呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式