资源简介
采用纯java编写,gui编程,协议采用的是tcp/ip协议,经过测试,可以上线使用
代码片段和文件信息
package com;
import java.io.*;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.util.List;
import java.awt.event.*;
public class Chat implements ActionListener{
private static Set set=new HashSet();
private static Map map=new HashMap();//放不同的用户
private Choice choice;
private Jframe frame;
private Container contentPane;
private JLabel jl1jl2;
private JRadioButton serverRbclientRb;
private JLabel informLbl;
private JTextArea centerText;
private JTextField sendText;//发送信息
private JButton connectBtnsendBtnexitBtn;
private DatagramSocket socket;
private DatagramPacket inPacket1inPacket2;
private DatagramPacket outPacket;
private SocketAddress address;
private JScrollPane jp;
public Chat(){
frame=new Jframe(“Chat“);
frame.setBounds(200200500400);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
contentPane=frame.getContentPane();
initGUI();
}
public void initGUI(){
contentPane.setLayout(new BorderLayout());
choice=new Choice();
JPanel p1=new JPanel(new FlowLayout(FlowLayout.LEFT));
p1.add(new JLabel(“UDP协议:“));
JPanel p2=new JPanel(new FlowLayout(FlowLayout.LEFT));
serverRb=new JRadioButton(“服务器“);
clientRb=new JRadioButton(“客户端“);
ButtonGroup bg=new ButtonGroup();
bg.add(serverRb);
bg.add(clientRb);
p2.add(serverRb);
p2.add(clientRb);
p2.add(new JLabel(“连接状态:“));
informLbl=new JLabel();
p2.add(informLbl);
JPanel northP=new JPanel(new GridLayout(21));
northP.add(p1);northP.add(p2);
JPanel centerP=new JPanel(new FlowLayout());
centerText=new JTextArea(1530);
jp=new JScrollPane(centerText);
centerP.add(jp);
JPanel p3=new JPanel(new FlowLayout());
jl1=new JLabel(““);
sendText=new JTextField(25);sendText.addActionListener(this);
jl2=new JLabel(““);
p3.add(jl1);
p3.add(jl2);
p3.add(sendText);
choice.add(“all“);
p3.add(choice);
connectBtn=new JButton(“连接“);connectBtn.addActionListener(this);
sendBtn=new JButton(“发送“);sendBtn.addActionListener(this);
sendBtn.setEnabled(false);
exitBtn=new JButton(“退出“);exitBtn.addActionListener(this);
JPanel p4=new JPanel(new FlowLayout(FlowLayout.RIGHT));
p4.add(connectBtn);
p4.add(sendBtn);
p4.add(exitBtn);
JPanel southP=new JPanel(new GridLayout(21));
southP.add(p3);
southP.add(p4);
contentPane.add(northPBorderLayout.NORTH);
contentPane.add(centerPBorderLayout.CENTER);
contentPane.add(southPBorderLayout.SOUTH);
}
public void go(){
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==sendText||e.getSource()==sendBtn){
String sendStr=sendText.getText().trim();
if(sendStr.length()==0){
}
if(clientRb.isSelected()){
try{
//客户发送
if(choice.getSelectedItem().equals(“all“)){
byte[] sendArray=(new StringBuffer().append(Land.aa+“: “+sendStr)).toString().getBytes();
outPacket=new DatagramPacket(sendArraysendArray.lengthnew
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 220 2008-04-22 13:35 聊天室\.classpath
文件 368 2008-04-23 10:08 聊天室\.project
文件 88 2008-08-02 14:49 聊天室\.settings\org.eclipse.core.resources.prefs
文件 3956 2009-03-20 18:49 聊天室\com\Chat$Receiver.class
文件 8250 2009-03-20 18:49 聊天室\com\Chat.class
文件 7987 2008-04-25 08:26 聊天室\com\Chat.java
文件 2515 2009-03-20 18:49 聊天室\com\Land$Subfr
文件 3713 2009-03-20 18:49 聊天室\com\Land.class
文件 4426 2008-04-23 21:01 聊天室\com\Land.java
文件 2141 2009-03-20 18:49 聊天室\com\Regedit$R.class
文件 3315 2009-03-20 18:49 聊天室\com\Regedit.class
文件 2781 2008-04-23 21:01 聊天室\com\Regedit.java
文件 1929 2009-03-20 18:49 聊天室\com\User.class
文件 940 2008-04-21 13:58 聊天室\com\User.java
文件 1566 2009-03-20 18:49 聊天室\com\UserService.class
文件 1096 2008-04-23 21:15 聊天室\com\UserService.java
目录 0 2009-03-20 18:49 聊天室\.settings
目录 0 2009-03-20 18:49 聊天室\com
目录 0 2009-03-20 18:49 聊天室
----------- --------- ---------- ----- ----
45291 19
相关资源
- java数据库版学生成绩管理系统
- Java版聊天程序(UDP TCP 多线程)
-
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课程设计 学生信息管理
评论
共有 条评论