资源简介
实现点对点实时聊天 若改进则可以做一个聊天室
代码片段和文件信息
import javax.swing.JOptionPane;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.net.*;
import java.text.DecimalFormat;
import javax.sound.sampled.*;
interface Module
{
TextArea display=new TextArea(1265);//这是一个文本域用来显示聊天内容
TextArea write=new TextArea(865);//用来输入聊天内容的文本域
frame f=new frame(“聊天工具“);//框架
Button send=new Button(“发送“);//发送按钮 用来发送消息
Button close=new Button(“关闭“);//关闭按钮 用来关闭对话框
Button talk=new Button(“语音聊天“);//语言聊天按钮 用来语音聊天
Button accept=new Button(“接受“);//接受按钮 用来接受对方语音聊天
Button reject=new Button(“拒绝“);//拒绝按钮 用来拒绝对方的语音聊天
String IP=“127.0.0.0“;//IP 地址 这是对方的IP 在程序运行的时候要进行修改
Capture cap=new Capture(IP);//Capture 是一个捕获声音并且将声音发送到目的IP地址的类
Playback player=new Playback();//Playback 是一个接受声音并且播放声音的类
}
public class Windows extends frame implements ActionListenerModule
{
static boolean begin=true;
Windows()
{
super(“聊天工具“);
f.setSize(500500);//设置框架大小为长500 宽500
f.setLocation(300300);
f.setFont(new Font(“Arial“Font.PLAIN12));//设置字体 为Font.PLAIN 大小为12
f.setLayout(new FlowLayout());//布局类型设置为FlowLayout
display.setEditable(false);//将显示聊天内容的框架设置为不可编辑
f.add(display);//将相应的控件添加到框架中去
f.add(write);
f.add(send);
f.add(talk);
f.add(close);
send.addActionListener(this);//下面几句话都是给控件加上监听器
close.addActionListener(this);
talk.addActionListener(this);
accept.addActionListener(this);
reject.addActionListener(this);
f.show();//将框架显示出来
}
public static void main(String args[])throws IOException
{
new Windows();
new RecieveThread().start();//接受对方信息的线程 这个线程接受的都是聊天的信息
new TalkReceiveRequestThread().start(); //接受对方一些请求的信息 比如语言聊天 以及拒绝语言聊天的信息
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==send)//如果是命令是发送则启动发送线程 并且将要发送的内容添加到display面板中去
{
String s;
if((write.getText().toString()).equals(““))
{
JOptionPane.showMessageDialog(null“发送的内同不能为空!““注意“JOptionPane.INFORMATION_MESSAGE);//如果发送内容是空的 则禁止发送
}
else
{
display.append(“\n老大:“+(new Date().toString())+“\n“+write.getText());//这是显示当前时间
new SendThread().start();
}
}
if(e.getSource()==close)//如果命令是关闭 则整个程序结束
{
System.exit(0);
}
if(e.getSource()==talk)//如果命令是语音聊天 进行判断 第一次点击该命令的时候是请求语聊 第二次则是关闭语聊
{
if(begin)//如果是第一次 则是请求语聊
{
display.append(“\n正与对方建立连接!“);
talk.setLabel(“关闭语音“);//设置按钮的内容
begin=false;
new TalkRequestThread(“talkstart“).start(); //发出一个语音聊天请求
}
else
{
display.append(“\n已经断开连接!“);//断开语音聊天 并且发出一个断开请求
talk.setLabel(“语音聊天“);
begin=true;
new TalkRequestThread(“talkended“).start();
cap.stop();//因为要断开语言聊天 则接语音收线程要断开 发送线程也要断开
player.stop();
}
}
if(e.getSource()==accept)//如果命令是接受 该命令表示答应对方的语
- 上一篇:JAVA实现找回密码功能详解。
- 下一篇:mvc模式画圆JAVA实现
相关资源
- 微博系统(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论坛 非常详细
评论
共有 条评论