资源简介
采用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代码)
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- JAVA开发聊天室程序
- 超级好的纯jsp写的聊天室
- Java实现的聊天室,具有群聊和私聊功
- java GUI版汉诺塔源码
- 日历时钟java版实现
-
Java Jfr
ame简单聊天程序 - java版多人聊天室
- 基于java聊天室(gui)
- Java版聊天程序(UDP TCP 多线程)
- 简单qq聊天(Java socket实现)
- java多线程编程 在主线程main中创建两
- 采用TCP SOCKET技术编写C/S模式的java聊天
- java多线程控制的赛跑程序
- 【教程】100个Java GUI swing的小程序.r
- Java串口调试工具源码
- 简单多线程一对一聊天程序
- Aandroid 多线程断点续传同时多个大文
- Android多线程文件夹及断点续传
- 一线大厂Java多线程面试120题.pdf
- Java操作Oracle数据库-多线程.rar
- Android游戏源码基于蓝牙的坦克大战和
- java实现的水果忍者游戏
- JAVA局域网聊天系统微仿QQ
- 用javaGUI做的阳光酒店管理系统
- java_concurrency_in_practice_source源代码
- 最新UnityPDF阅读器PDF Renderer_v4.11.rar
评论
共有 条评论