📄 clientpad.java
字号:
package com.client.connect;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.List;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.awt.*;
public class clientpad implements ActionListener
{
public List userList;
public Label label;
public Label label1;
public Panel panel1;
public Panel panel2;
public Panel panel3;
public Panel panel4;
public TextField tfd;
public TextField ip;
public TextField name;
public TextArea tta;
public Frame frame;
public Button conButton;
public Button nameButton;
public Button send;
public net Net;
boolean register=false;
public clientpad()
{
frame=new Frame("Client");
frame.setBackground(Color.LIGHT_GRAY);
userList = new List(10);
userList.setBackground(Color.pink);
label=new Label("chat");
label1=new Label("服务器ip");
tfd=new TextField(30);
ip=new TextField(10);
name=new TextField(10);
tta=new TextArea();
panel1=new Panel();
panel1.setLayout(new FlowLayout());
panel2=new Panel();
panel2.setLayout(new FlowLayout());
panel3=new Panel();
panel3.setLayout(new FlowLayout());
panel4=new Panel();
panel4.setLayout(new FlowLayout());
nameButton= new Button("提交");
conButton= new Button("连接主机");
send= new Button("发送");
panel3.add(new Label("聊天室好友在线"));
panel3.add(new Label("您的昵称"));
panel3.add(name);
panel3.add(nameButton);
panel3.add(label1);
panel3.add(ip);
panel3.add(conButton);
panel4.add(userList);
panel1.add(label);
panel1.add(tfd);
panel1.add(send);
tta.setBackground(Color.CYAN);
panel2.add(tta);
frame.setLayout(new BorderLayout());
frame.add("North",panel3);
frame.add("East",panel2);
frame.add("South",panel1);
frame.add("West",panel4);
conButton.addActionListener(this);
nameButton.addActionListener(this);
send.addActionListener(this);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//关闭要通知服务器,用户下线
String ss = "/del "+name.getText()+" ";
try {
Net.output.writeUTF(ss);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
Net.client.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.exit(0);
}});
frame.setSize(606,315);
frame.setVisible(true);
ip.setText("192.168.0.107");
frame.isResizable();
}
public void actionPerformed(ActionEvent e)
{
String getip;
if(e.getSource() ==conButton)
{
if(register==true)
{
getip=ip.getText();
Net=new net(getip,this);
//tta.setText("连接了!");
try{
//获取文本域中的字符串
String str="/register ";
str+=name.getText();
//System.out.println(str);
Net.output.writeUTF(str);
}catch(IOException ef){}
}
else
{
tta.append("请先注册昵称!\n");
}
}
else if(e.getSource() ==send)
{
String peername = userList.getSelectedItem();
//tta.setText("回车了!");
//tta.append(peername);
String Name=name.getText();
if(peername.equals("[您要对所有人说请选这里]")==false)
{
try{
//获取文本域中的字符串
String str=Name+" "+peername+" ";
str+=tfd.getText();
tfd.setText(null);
Net.output.writeUTF(str);
//在文本区中显示文本域中的内容
tta.append("[悄悄话]我对"+peername+"说: "+
str.substring(peername.length()+Name.length()+2)+"\n");
}catch(IOException ef){}
}
else
{
//System.out.println("!!!!!!!!");
String str="/toall "+name.getText()+" ";
str+=tfd.getText();;
try {
Net.output.writeUTF(str);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
tta.append("[我对所有人说]: ");
tta.append(tfd.getText());
tfd.setText(null);
}
}
else if(e.getSource()==nameButton)
{
register=true;
tta.append("您的昵称为:"+name.getText()+"\n");
// System.out.println(name.getText());
nameButton.setEnabled(false);
name.enable(false);
// System.out.println(name.getText());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -