📄 clientapplet.java
字号:
// 程序:多人聊天室客户端程序
// 范例文件:ClientApplet.java
import java.io.*;
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.awt.event.*;
public class ClientApplet extends Applet
implements Runnable,ActionListener
{
int sPort;
String sName;
Socket cSocket;
boolean dead;
PrintStream write;
BufferedReader read;
Thread T;
Font F;
Panel south;
Button sendMessage;
TextArea Message;
TextField send;
public void init()
{
setLayout(new BorderLayout());
dead = false;
F = new Font("Dialog",Font.BOLD,16);
south = new Panel();
sendMessage = new Button("传送讯息");
Message = new TextArea();
send = new TextField(40);
south.add(send);
south.add(sendMessage);
Message.setFont(F);
Message.setEditable(false);
Message.append("欢迎使用良葛格的聊天室\n\n");
Message.setBackground(Color.black);
Message.setForeground(Color.white);
add(south,BorderLayout.SOUTH);
add(Message,BorderLayout.CENTER);
sendMessage.addActionListener(this);
try
{
sPort = 6633;
sName = getDocumentBase().getHost();
cSocket = new Socket(sName,sPort);
write = new PrintStream(cSocket.getOutputStream());
read = new BufferedReader(
new InputStreamReader(cSocket.getInputStream()));
}
catch(UnknownHostException E)
{
Message.append("发生例外: 无法识别的主机!");
sendMessage.setEnabled(false);
}
catch(IOException E)
{
Message.append("发生例外: 建立I/O管道失败!");
sendMessage.setEnabled(false);
}
T = new Thread(this);
T.start();
}
public void run()
{
String m;
while(!dead)
{
try
{
m = read.readLine();
if(m != null)
{
Message.append("\n" + m);
}
}
catch(IOException E)
{
Message.append("\n\n远端服务器已关闭或网路连线发生错误...");
Message.append("\n\n请尝试重新连线...");
sendMessage.setEnabled(false);
break;
}
}
}
public void finalize()
{
try
{
read.close();
write.close();
cSocket.close();
}
catch(IOException E){}
cSocket = null;
}
public void actionPerformed(ActionEvent e)
{
if(send.getText().equals(""))
{
return;
}
else if(send.getText().equals("bye"))
{
dead = true;
Message.append("\n已结束连线.....");
}
write.println(send.getText());
send.setText("");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -