📄 helloclientframe.java
字号:
package hello;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.rmi.*;
import java.net.*;
public class HelloClientFrame extends Frame
{
private JPanel contentPane;
Label label1 = new Label();
Button button1 = new Button();
//Construct the frame
public HelloClientFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
label1.setBounds(new Rectangle(95, 95, 197, 26));
this.setBackground(SystemColor.inactiveCaption);
this.setSize(new Dimension(313, 228));
this.setTitle("RMI客户端");
this.setLayout(null);
button1.setLabel("连接主机");
button1.setBounds(new Rectangle(105, 154, 86, 29));
button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button1_actionPerformed(e);
}
});
this.add(button1, null);
this.add(label1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void button1_actionPerformed(ActionEvent e) {
String serverName;
System.setSecurityManager(new RMISecurityManager()); //建立一个安全管理器
try
{
serverName = InetAddress.getLocalHost().getHostName(); //得到RMI服务器端的主机名
label1.setText("正在连接RMI主机...");
Hello myHello = (Hello)Naming.lookup("//" + serverName + "/HelloWorld"); //寻找RMI主机的相应服务
String tmp = myHello.sayHello(); //调用远程函数
label1.setText(tmp); //显示结果
}
catch (Exception e1)
{
System.out.println("Error: " + e1); //捕捉异常情况
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -