📄 client.java
字号:
package client;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import message.MessageReceiver;
import message.MessageServer;
/**
* coder: taie
*/
public class Client extends Frame implements MessageReceiver,
ActionListener{
TextField tf;
TextArea ta;
static String name;
static MessageServer server;
public Client()throws RemoteException{
setTitle(name);
setLayout(new BorderLayout());
tf=new TextField(30);
tf.addActionListener(this);
add("South",tf);
ta=new TextArea(20,20);
add("Center",ta);
addWindowListener(new WindowCloser());
UnicastRemoteObject.exportObject(this);
}
public void actionPerformed(ActionEvent e){
try{
server.send(name,tf.getText());
}catch(Exception ea){
System.out.println("Client exception "+ea.getMessage());
ea.printStackTrace();
}
tf.setText("");
tf.selectAll();
}
public void print(String s){
ta.append(s+"\n");
}
public static void main(String[] args){
if(args.length<1){
System.out.println("usage:java client.client ClientName.");
System.exit(-1);
}
name=args[0];
try{
Client cf=new Client();
cf.pack();
cf.show();
server=(MessageServer)Naming.lookup(
MessageServer.SERVER_NAME);
int s=server.register(args[0],cf);
if(s==MessageServer.FAILURE)throw new Exception(
"could not connect to server.");
}catch(Exception e){
System.err.println("Client exception: "+e.getMessage());
e.printStackTrace();
System.exit(-1);
}
}
}
class WindowCloser extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(-1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -