类似QQ模版的问题 急。。。哪位高手帮帮呀

xuok8xuok8xuok8 2009-11-28 06:43:46
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class QQSampleFrame extends Frame {




public void lunchFrame() {
this.setTitle("我的QQ");
this.setLocation(50,300);//屏幕的左上角点的位置
this.setSize(50, 600); //屏幕的宽度和高度
this.setLayout(new FlowLayout(FlowLayout.CENTER,20,40));


Button b1 = new Button ("系统");
//Button b2 = new Button ("");
Monitor m= new Monitor();

b1.addActionListener(m);
//b2.addActionListener(m);

this.add(b1);
//this.add(b2);


this.addWindowListener(new WindowAdapter(){ //窗口关闭的匿名类
public void windowClosing(WindowEvent e) {
System.exit(0);
}

});

this.setResizable(true);//能改变窗口的大小
this.setBackground(new Color(202, 204, 205));
setVisible(true);//显示出Frame这个桌面
}


public static void main (String[] args) {
QQSampleFrame qq = new QQSampleFrame();
qq.lunchFrame();

}

}
class Monitor implements ActionListener {

public void actionPerformed(ActionEvent e) {
Frame frame = new Frame("会话中");
TextField tf = new TextField();
frame.add(tf);
try {
ServerSocket ss = new ServerSocket(4700);
Socket s = ss.accept();//拿到客户 Socket的引用
String line; // 定义一段字符长度
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));//带着小桶的输入的字符流 拿到这个连接的字节流转换成字符流//
PrintWriter pw = new PrintWriter (s.getOutputStream()); //打印到大侠那的输出流
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in) );//键盘上的打印
System.out.println("客户 :" + br.readLine());//先读出大侠那边的字符
line = sin.readLine();//再写出自己黄勇(系统)这边的打印机
while (!line.equals("bye")) { //不等于零bye的时候
pw.println(line); //输出黄勇(系统)这边的
pw.flush();
System.out.println("系统 :" + line);
System.out.println("客户 :" + br.readLine());
}
br.close();
pw.close();
ss.close();
s.close();

} catch (Exception e1) {
e1.printStackTrace();
}

frame.setLocation(200, 300);
frame.setSize(250,300);
frame.setVisible(true);
}

}
请问我这边做为服务器端的话 另外写个客户端的话必须另起个服务器。 可是这样的话 就不能在一个Frame里了。。就像QQ这样的。。有没办法做到 你把消息发给对方 (也就是这2个按钮之间),对方接收到之后,专门显示在一个框内,一直累加。你对方输入的信息也累加在这个框中。
...全文
55 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuok8xuok8xuok8 2009-11-28
  • 打赏
  • 举报
回复
请问有代码进行参考么。。我实在是用语言实现不出来
xuok8xuok8xuok8 2009-11-28
  • 打赏
  • 举报
回复
是呀 从视频学到的。。。可是具体操作还是有点困难。。。自学的- -`
苍蝇①号 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wenjie198512 的回复:]
可以用线程实现服务器端  这样每次接收到客户端的连接就分配一个线程  并把新请求连接的线程对象加到一个List里面去,然后再对List进行遍历,分别调用对应的发送方法,这样就可以在客户端轮流显示了
[/Quote]
这个方法值得试试看
NeverGiveUp2016 2009-11-28
  • 打赏
  • 举报
回复
那你就是想做一个聊天系统了吧 ?呵呵 !
NeverGiveUp2016 2009-11-28
  • 打赏
  • 举报
回复
你这不是上次给的代码吗 ?怎么还没有弄好啊 ?又出现新的问题了 ?
wenjie198512 2009-11-28
  • 打赏
  • 举报
回复
可以用线程实现服务器端 这样每次接收到客户端的连接就分配一个线程 并把新请求连接的线程对象加到一个List里面去,然后再对List进行遍历,分别调用对应的发送方法,这样就可以在客户端轮流显示了

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧