package org;
import java.awt.event.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class Tecp implements ActionListener{
JFrame jframe;
JPanel p1,p2,p3;
JButton con,send;
JTextField name;
JScrollPane sp;
JTextArea msg,text;
JLabel user;
Socket s = null;
ServerSocket cs = null;
DataOutputStream d_out = null;
DataInputStream d_in = null;
public Tecp(){
jframe = new JFrame("聊天系统-服务端");
jframe.setLayout(new BorderLayout());
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel();
user = new JLabel("用户名:");
name = new JTextField(12);
con = new JButton("开始");
con.addActionListener(this);
p1.add(user);
p1.add(name);
p1.add(con);
p2 = new JPanel();
msg = new JTextArea(20,51);
msg.setEditable(false);
sp = new JScrollPane(msg);
p2.add(sp);
p3 = new JPanel();
text = new JTextArea(2,45);
text.setText("请开启服务器!");
text.setEditable(false);
send = new JButton("发送");
send.setEnabled(false);
send.addActionListener(this);
p3.add(text);
p3.add(send);
p1.setBackground(Color.gray);
p2.setBackground(Color.gray);
p3.setBackground(Color.gray);
jframe.add(p1,BorderLayout.NORTH);
jframe.add(p2,BorderLayout.CENTER);
jframe.add(p3,BorderLayout.SOUTH);
jframe.setSize(600, 500);
jframe.setVisible(true);
jframe.setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==con){
//判断用户名
if(name.getText().isEmpty()){
text.setText("请填写用户名");
return;
}
//连接网络
try {
cs = new ServerSocket(1234);
s = cs.accept();
OutputStream out = s.getOutputStream();
d_out = new DataOutputStream(out);
InputStream in = s.getInputStream();
d_in = new DataInputStream(in);
d_out.writeUTF("已连接到服务器"+name.getText()+"\n");
}catch (IOException e2){
text.setText("网络连接失败!");
return;
}
con.setEnabled(false);
name.setEnabled(false);
text.setEditable(true);
text.setText(null);
send.setEnabled(true);
send.setMnemonic(KeyEvent.VK_ENTER);
receive().start();
}
if(e.getSource()==send){
if(text.getText().isEmpty()) return;
try {
String m = name.getText()+":"+text.getText()+"\n";
msg.append(m);
d_out.writeUTF(m);
text.setText(null);
}catch (IOException e2){
text.setText("在发送信息的时候,网络连接失败!");
return;
}
}
}
private Thread receive()
{
return new Thread()
{
public void run(){
try {
while(true){
msg.append(d_in.readUTF());
Thread.sleep(50);
}
}catch (Exception e) {}
}
};
}
public static void main(String srgs[]){
new Tecp();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java 局域网聊天
共13个文件
class:4个
java:2个
mf:2个
需积分: 0 1 下载量 62 浏览量
2011-07-05
18:32:46
上传
评论
收藏 683KB ZIP 举报
温馨提示
用JAVA实现局域网聊天,希望大家可以看看.
资源推荐
资源详情
资源评论
收起资源包目录
JAVA 网络聊天.zip (13个子文件)
Test1
.project 726B
.settings
org.eclipse.jdt.core.prefs 334B
.mymetadata 161B
src
org
Tcp.java 3KB
Tecp.java 3KB
META-INF
MANIFEST.MF 36B
.classpath 324B
classes
org
Tcp.class 4KB
Tecp.class 4KB
Tecp$1.class 782B
Tcp$1.class 776B
META-INF
MANIFEST.MF 36B
Think In Java.chm 680KB
共 13 条
- 1
资源评论
liuyu7635191
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功