资源简介
之所以要3分,因为还是挺辛苦的,实现功能包括用户注册、登陆、修改密码、通信界面、上传下载文件;直接解压导入.project到eclipse就能用,不需要任何其他包,下载有什么问题可以直接提问,也可以发邮件:x.wang@whu.edu.cn
代码片段和文件信息
package Chat;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
public class Chatframe{
private PrintWriter pw;
private Jframe frame;
private JPanel pane_buttom;
private JSplitPane pane_center;
//显示内容的文本框,输入内容的文本框发送内容按钮
private JScrollPane pane_showWindow;
private JScrollPane pane_inputWindow;
private JTextArea area_showWindow;
private JTextArea area_inputWindow;
private JButton btn_send;
private Dimension dimension;//用于设置area_showWindow可拖拉的大小
//初始化
public Chatframe() {
frame = new Jframe();
pane_buttom = new JPanel();
pane_showWindow = new JScrollPane();
pane_inputWindow = new JScrollPane();
area_showWindow = new JTextArea();
area_inputWindow = new JTextArea();
pane_center = new JSplitPane(JSplitPane.VERTICAL_SPLIT false pane_showWindow pane_inputWindow);
btn_send = new JButton(“发送“);
dimension = new Dimension(50 300);
}
//调用方法显示窗口
public void showframe(){
initframe();
initChatTextArea();
initButton();
btn_send();
socket();
}
//主窗体
public void initframe(){
frame.settitle(“客户端“);
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
frame.setBounds(width / 2 height / 2 400 450);
frame.setVisible(true);
}
//内容显示文本框和输入内容文本框
private void initChatTextArea(){
//取得视图焦点
pane_showWindow.getViewport().add(area_showWindow);
pane_inputWindow.getViewport().add(area_inputWindow);
//将显示文本域设置为不可编辑
area_showWindow.setEditable(false);
//设置显示文本域可拖拉的大小
pane_showWindow.setMinimumSize(dimension);
frame.add(pane_center BorderLayout.CENTER);
}
//发送文件,发送内容按钮
public void initButton(){
pane_buttom.add(btn_send);
frame.add(pane_buttom BorderLayout.SOUTH);
}
private void btn_send(){
btn_send.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String info = area_inputWindow.getText();
area_showWindow.append(“客户端: “+info+“\r\n“);
pw.println(info);
area_inputWindow.setText(““);
}
});
}
private void socket(){
try {
@SuppressWarnings(“resource“)
Socket s = new Socket(“localhost“9988);
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
pw=new PrintWriter(s.getOutputStream()true);
while(true){
//不停地读取从服务器端发来的信息
String info=br.readLine();
area_showWindow.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-02-22 19:33 计算机网络\
文件 301 2016-01-09 20:31 计算机网络\.classpath
文件 391 2016-01-09 20:31 计算机网络\.project
目录 0 2016-02-22 19:33 计算机网络\.settings\
文件 598 2016-01-09 20:31 计算机网络\.settings\org.eclipse.jdt.core.prefs
目录 0 2016-02-22 19:33 计算机网络\bin\
目录 0 2016-02-22 19:33 计算机网络\bin\Chat\
文件 1226 2016-01-09 20:31 计算机网络\bin\Chat\Chatfr
文件 4297 2016-01-09 20:31 计算机网络\bin\Chat\Chatfr
文件 1273 2016-01-09 20:31 计算机网络\bin\Chat\Chatfr
文件 4318 2016-01-09 20:31 计算机网络\bin\Chat\Chatfr
目录 0 2016-02-22 19:33 计算机网络\bin\Client\
文件 4963 2016-01-09 20:31 计算机网络\bin\Client\ChangePassword.class
文件 1501 2016-01-09 20:31 计算机网络\bin\Client\Client.class
文件 4559 2016-01-09 20:31 计算机网络\bin\Client\Log.class
文件 2184 2016-01-09 20:31 计算机网络\bin\Client\MainLog.class
文件 4558 2016-01-09 20:31 计算机网络\bin\Client\Register.class
目录 0 2016-02-22 19:33 计算机网络\bin\FileTransfer\
文件 2728 2016-01-09 20:31 计算机网络\bin\FileTransfer\Download.class
文件 3270 2016-01-09 20:31 计算机网络\bin\FileTransfer\DownLoadListener$1.class
文件 1210 2016-01-09 20:31 计算机网络\bin\FileTransfer\DownLoadListener.class
文件 1937 2016-01-09 20:31 计算机网络\bin\FileTransfer\FileTransfer.class
文件 1914 2016-01-09 20:31 计算机网络\bin\FileTransfer\Upload.class
文件 2958 2016-01-09 20:31 计算机网络\bin\FileTransfer\UploadListener$1.class
文件 1172 2016-01-09 20:31 计算机网络\bin\FileTransfer\UploadListener.class
目录 0 2016-02-22 19:33 计算机网络\bin\Server\
文件 7852 2016-01-09 20:31 计算机网络\bin\Server\Server.class
目录 0 2016-02-22 19:33 计算机网络\src\
目录 0 2016-02-22 19:33 计算机网络\src\Chat\
文件 3403 2016-01-09 20:31 计算机网络\src\Chat\Chatfr
文件 3469 2016-01-09 20:31 计算机网络\src\Chat\Chatfr
............此处省略15个文件信息
- 上一篇:二维码生成jar包地址
- 下一篇:咖啡机代码原装的
相关资源
- Android应用源码安卓与PC的Socket通信项
- android socket通信demo
- android+pc socket通信
- java程序与vb之间Socket通信源码
- java与c++通过socket通信
- android wifi 热点连接以及Socket通信经测
- C++与android通过socket通信
- C/C++服务器与Java客户端进行socket通信
- C#与Android Socket通信
- Socket通信:Linux服务器与多个Aandroid客
- android移动端和PC端互作客户和服务器
-
Android应用与fr
amework的socket通信 - android Socket通信方法与思路
- java socket通信自定义消息协议
- Android客户端与PC服务器实现Socket通信
- java基于socket编写的聊天室程序
- Socket通信Des加密笔记
- Android安卓使用iosocket进行Socket通信简
- C++与android通过socket通信(上个版本端
- java 局域网简单socket通信,带界面
- Java 使用Socket通信
- SartHome智能家居通过socket通信连接单片
- android服务器端文件(Socket实现文件
- java写的socket通信客户端
- 网络实验编程:TCP客户端与服务端S
- GUI与Socket通信.docx
- java服务端,C++客户端,基于protobuf的
- android在WiFi下手机与电脑的socket通信
- android在wifi下手机与电脑的socket通信
- android+pc socket通信实现手机客户端和
评论
共有 条评论