资源简介
用Java编写的一个聊天程序,通信部分大部分是UDP通信
代码片段和文件信息
package org.liujian.client;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Calendar;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Chatframe extends Jframe implements ActionListener {
private static final long serialVersionUID = 3L;
MsgClient mc;
Container cont = this.getContentPane();
JPanel jp1 = new JPanel(new GridLayout(1 1));
JPanel jp2 = new JPanel(new GridLayout(2 1));
JPanel jp3 = new JPanel();
JTextArea jta1 = new JTextArea();
JScrollPane scrollPane1 = new JScrollPane(jta1);
JTextArea jta2 = new JTextArea();
JScrollPane scrollPane2 = new JScrollPane(jta2);
JButton sendButton = null;
JButton updButton = null;
int guestId;
String guestName;
public Chatframe(MsgClient mc) {
this.mc = mc;
this.setSize(400 500);
this.setLocation(800 100);
this.setLayout(new GridLayout(2 1));
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (Chatframe.this.jta1.getText().equals(““) || !Chatframe.this.mc.isOnline()) {
Chatframe.this.setVisible(false);
return;
}
int result = JOptionPane.showConfirmDialog(Chatframe.this
“是否保存聊天记录?“ “提示“ JOptionPane.YES_NO_CANCEL_OPTION);
switch (result) {
case JOptionPane.YES_OPTION:
Chatframe.this.saveChatRecord();
break;
case JOptionPane.NO_OPTION:
break;
case JOptionPane.CANCEL_OPTION:
break;
}
Chatframe.this.jta1.setText(““);
Chatframe.this.setVisible(false);
}
});
// this.setVisible(true);
jta1.setEditable(false);
jta2.setEditable(true);
jp1.add(scrollPane1);
jp2.add(scrollPane2);
jp2.add(jp3 BorderLayout.SOUTH);
Icon sendIcon = new ImageIcon(“icons/send.png“);
Icon updIcon = new ImageIcon(“icons/upd_info.png“);
sendButton = new JButton(sendIcon);
updButton = new JButton(updIcon);
sendButton.setSize(100 30);
updButton.setSize(100 30);
sendButton.setPreferredSize(new Dimension(100 30));
updButton.setPreferredSize(new Dimension(100 30));
sendButton.addActionListener(this);
updButton.addActionListener(this);
jp3.add(sendButton);
jp3.add(updButton);
jp3.setSize(200 60);
this.add(jp1 BorderLayout.SOUTH);
cont.add(jp1);
cont.add(jp2);
}
protected void saveChatRecord() {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232 2009-05-16 20:39 NewMessager1.8\.classpath
文件 390 2009-06-10 08:38 NewMessager1.8\.project
文件 1474 2009-06-13 12:16 NewMessager1.8\bin\org\liujian\client\Chatfr
文件 5616 2009-06-13 12:16 NewMessager1.8\bin\org\liujian\client\Chatfr
文件 1372 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\client\Guest.class
文件 881 2009-06-10 09:23 NewMessager1.8\bin\org\liujian\client\MsgClient$1.class
文件 9966 2009-06-10 09:23 NewMessager1.8\bin\org\liujian\client\MsgClient.class
文件 1383 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\client\NetClient$UDPThread.class
文件 3288 2009-06-10 09:23 NewMessager1.8\bin\org\liujian\client\NetClient.class
文件 2490 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\AskClientsMsg.class
文件 2728 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\ChatMsg.class
文件 2395 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\ClientOffMsg.class
文件 2258 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\ClientOnMsg.class
文件 443 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\Msg.class
文件 2300 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\MsgRequest.class
文件 2462 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\msg\MsgResponse.class
文件 886 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\MsgServer$Client.class
文件 4097 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\MsgServer$UDPThread.class
文件 3091 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\MsgServer.class
文件 982 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\ServerManager$1.class
文件 898 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\ServerManager$ServerThread.class
文件 3209 2009-06-10 08:38 NewMessager1.8\bin\org\liujian\server\ServerManager.class
文件 4582 2009-06-03 19:40 NewMessager1.8\icons\send.png
文件 3691 2009-06-03 19:40 NewMessager1.8\icons\upd_info.png
文件 82 2009-08-26 16:19 NewMessager1.8\readme.txt
文件 4560 2009-06-13 12:16 NewMessager1.8\src\org\liujian\client\Chatfr
文件 907 2009-06-06 12:40 NewMessager1.8\src\org\liujian\client\Guest.java
文件 7706 2009-06-10 09:23 NewMessager1.8\src\org\liujian\client\MsgClient.java
文件 2750 2009-06-07 20:59 NewMessager1.8\src\org\liujian\client\NetClient.java
文件 1666 2009-06-06 11:51 NewMessager1.8\src\org\liujian\msg\AskClientsMsg.java
............此处省略25个文件信息
- 上一篇:java操作xm
l文件的一个简单代码 - 下一篇:基于java聊天室(gui)
相关资源
- 基于java聊天室(gui)
-
java操作xm
l文件的一个简单代码 - 简单qq聊天(Java socket实现)
- java多人五子棋源码
- java多线程编程 在主线程main中创建两
- JAVA计算器实验报告与源码
- 人事信息管理系统 java课程设计
- 学生信息管理系统 JAVA课程设计
- 自己用java写的计算器源代码(代码注
- 棋盘覆盖---JAVA版
- 语音识别 sphinx4 JAVA 教程
- 用Java实现TCP通信
- java SQLServer做的员工管理系统
- JAVA坦克大战游戏源代码
- 用Java编写的扫雷游戏源代码
- 采用TCP SOCKET技术编写C/S模式的java聊天
- 《java程序设计》书附源代码
- Java程序设计考试试卷和答案(共4套)
- java做的人事档案管理系统
- java 局域网数据包嗅探
- Java 透明按钮 Java透明按钮
- Java写的递归下降分析程序
- 北大青鸟accp5.0java第四章理论加上机作
- java用spring struts hibernate做的学生成绩
- jsp mysql tomcat学生信息管理系统
- 科研管理系统 java swing mysql
- java真实项目煤矿管理系统
- 基于JAVA的物业收费管理系统源代码
- 东南大学 JAVA课程设计 学生信息管理
- Java大作业 学生成绩管理系统
评论
共有 条评论