资源简介
采用java编写,利用多线程,服务器客户端,socket等知识,实现局域网多个客户端之间聊天,实时绘图(一个客户端绘图的同时其他客户端能同步显示),异步绘图(绘画完成后再传输到其他客户端),对初学者有很高参考意义。
代码片段和文件信息
package client;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.IOException;
import java.io.objectInputStream;
import java.io.objectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
//画笔选择
enum PaintChoose {
LINE OVAL RECT PEN ERASER
}
@SuppressWarnings(“serial“)
public class Client extends Jframe {
private JPanel contentPane;
private Chat chat;
private Canvas canvas;
private Socket socket;
private objectInputStream objin;
private objectOutputStream objout;
private List graph_list = new ArrayList();
private List server_graph = new ArrayList();
private boolean begin = false;
private boolean show = false;
private Thread my_thread = new Thread(new MyClientThread());
JButton btn_Send = new JButton(“发送“);
JButton btn_sendGraph = new JButton(“发送图片“);
JButton btn_getGraph = new JButton(“获取图片“);
JButton btn_show = new JButton(“实时(关闭)“);
private JTextArea textArea;
private JTextPane textPane = new JTextPane();
private JLabel us = new JLabel(“用户名:“);
private JTextArea username = new JTextArea(“用户名“);
public void startChat() {
try {
socket = new Socket(“127.0.0.1“ 8005);
objout = new objectOutputStream(socket.getOutputStream());
objin = new objectInputStream(socket.getInputStream());
begin = true;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Client frame = new Client();
frame.setSize(1050 700);
frame.settitle(“网络白板客户端“);
Dimension dem = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(
(int) (dem.getWidth() - frame.getWidth()) / 2
(int) (dem.getHeight() - frame.getHeight()) / 2);
frame.setVisible(true);
// frame.setResizable(fa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-11 21:56 网络白板\
目录 0 2015-03-11 21:56 网络白板\project3\
文件 301 2014-11-22 13:31 网络白板\project3\.classpath
文件 384 2014-11-22 13:31 网络白板\project3\.project
目录 0 2015-03-11 21:56 网络白板\project3\.settings\
文件 598 2014-11-22 13:31 网络白板\project3\.settings\org.eclipse.jdt.core.prefs
目录 0 2015-03-11 21:56 网络白板\project3\bin\
目录 0 2015-03-11 21:56 网络白板\project3\bin\client\
文件 1176 2014-11-26 19:47 网络白板\project3\bin\client\Client$1.class
文件 1686 2014-11-26 19:47 网络白板\project3\bin\client\Client$2.class
文件 1272 2014-11-26 19:47 网络白板\project3\bin\client\Client$3.class
文件 992 2014-11-26 19:47 网络白板\project3\bin\client\Client$4.class
文件 792 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$1.class
文件 935 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$10.class
文件 940 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$11.class
文件 940 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$12.class
文件 952 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$13.class
文件 952 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$14.class
文件 952 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$15.class
文件 954 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$16.class
文件 1031 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$17.class
文件 1198 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$18.class
文件 1219 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$19.class
文件 949 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$2.class
文件 1113 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$3.class
文件 858 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$4.class
文件 940 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$5.class
文件 940 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$6.class
文件 939 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$7.class
文件 939 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$8.class
文件 937 2014-11-26 19:47 网络白板\project3\bin\client\Client$Canvas$9.class
............此处省略55个文件信息
相关资源
- java多线程代码demo
- javaQQ聊天室+SocketTCP
- 宿舍管理系统登录界面
- java基于udp的聊天服务端
- Android蓝牙聊天项目非常详细
- Java语音聊天
- java局域网聊天+文件传输系统
- java__QQ聊天(聊天窗口设置不同颜色字
- java 多线程编程 月食效果
- jsp无刷新聊天室程序及源代码
- 基于WebSocket实现的Android和H5聊天通讯
- Java的带GUI界面猜数字游戏的实现
- java GUI小游戏之小鼠快跑
- 基于JavaSE多人在线聊天室含用户登录
- java多线程与高并发视频
- Qt多线程的一个简单
- BluetoothChat 蓝牙聊天 Android 官方源码
- 多线程web服务器 附实验报告 java
- 仿QQ聊天系统JAVA+MYSQL
- reportng-1.1.4相关jar包
- 生产者和消费者GUI图形Java
- 多线程同步解决卖票问题
- java在线聊天系统课程设计报告
- ATM模拟系统.zip
- JAVAGUI+Mysq学生管理系统.zip
- 《奔跑吧!小恐龙》小游戏_源代码
- java GUI awt 实现鼠标绘制矩形,鼠标拖
- 用JAVA开发网络聊天室
- java利用Socket与多线程实现网络聊天室
- jdgui---jar文件查看
评论
共有 条评论