资源简介
《分布式系统》课程的一个作业,作为一个小Demo给大家参考一下。其实聊天窗口有点小bug,就交给你们去处理吧^_^

代码片段和文件信息
package client;
import javax.swing.Jframe;
import javax.swing.JTextArea;
import java.awt.BorderLayout;
import javax.swing.JScrollPane;
import java.awt.Component;
import java.awt.Rectangle;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class ClientChatDlg extends Jframe implements ActionListener {
private JTextArea contentArea;
private static HashMap dlgMap = new HashMap();
private JTextField textField;
private Socket peerSocket;
//是被动连接
private boolean isPassive = false;
//是新连接
private boolean isNewConnect = true;
public ClientChatDlg(final String title Socket socket Component parent boolean isPassive) {
this.isPassive = isPassive;
//当前窗口加入映射,用于判断窗口是否已经打开
dlgMap.put(title this);
settitle(title);
setBounds(new Rectangle(0 0 350 350));
JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane BorderLayout.CENTER);
contentArea = new JTextArea();
contentArea.setFont(new Font(“宋体“ Font.PLAIN 13));
contentArea.setLineWrap(true);
contentArea.setEditable(false);
scrollPane.setViewportView(contentArea);
JPanel panelSend = new JPanel();
getContentPane().add(panelSend BorderLayout.SOUTH);
textField = new JTextField();
panelSend.add(textField);
textField.setColumns(10);
JButton btnSend = new JButton(“发送“);
btnSend.addActionListener(this);
btnSend.setFont(new Font(“微软雅黑“ Font.PLAIN 12));
panelSend.add(btnSend);
setLocationRelativeTo(parent);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//关闭对话框时,从映射中移除它
dlgMap.remove(title);
//关闭套接字
closeChatSocket();
super.windowClosing(e);
}
});
setChatSocket(socket);
}
public void setChatSocket(Socket socket) {
if (peerSocket != null)
closeChatSocket();
this.peerSocket = socket;
//开始接收消息
new ReceiveThread().start();
}
private void closeChatSocket() {
try {
peerSocket.close();
} catch (IOException e1) {
}
}
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-27 20:10 P2P聊天软件\
文件 496640 2016-01-19 23:23 P2P聊天软件\P2P聊天软件 设计文档.doc
目录 0 2015-10-27 19:37 P2P聊天软件\源代码\
目录 0 2015-10-27 19:12 P2P聊天软件\源代码\client\
文件 5367 2015-10-27 17:17 P2P聊天软件\源代码\client\ClientChatDlg.java
文件 3484 2015-10-27 17:01 P2P聊天软件\源代码\client\ClientCore.java
文件 9038 2015-10-27 16:50 P2P聊天软件\源代码\client\ClientMainDlg.java
目录 0 2015-10-27 19:12 P2P聊天软件\源代码\server\
文件 2338 2015-06-16 14:11 P2P聊天软件\源代码\server\ServerConfigPanel.java
文件 5597 2015-10-26 11:23 P2P聊天软件\源代码\server\ServerCore.java
文件 3879 2015-10-27 17:32 P2P聊天软件\源代码\server\ServerMainDlg.java
文件 2178 2015-10-24 16:19 P2P聊天软件\源代码\server\ServerStartedPanel.java
- 上一篇:Java从入门到精通第4版光盘内容
- 下一篇:基于websocket的聊天室源码
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论