📄 activatablermiclientframe.java
字号:
package activatablermi;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.rmi.*;import java.rmi.server.*;import java.rmi.registry.*;import java.net.*;public class activatableRMIClientFrame extends JFrame { private JPanel contentPane; private Button button1 = new Button(); private Label label1 = new Label(); //Construct the frame public activatableRMIClientFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); //设计布局 button1.setLabel("连接主机"); button1.setBounds(new Rectangle(128, 183, 96, 29)); button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button1_actionPerformed(e); } }); contentPane.setLayout(null); this.setSize(new Dimension(352, 262)); this.setTitle("可激活RMI客户端"); label1.setBounds(new Rectangle(124, 110, 147, 25)); contentPane.add(button1, null); contentPane.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 { label1.setText("正在连接RMI主机..."); serverName = InetAddress.getLocalHost().getHostName(); //得到RMI服务器端的主机名 activatableRMI myHello = (activatableRMI)Naming.lookup("//" + serverName + "/HelloWorld"); //寻找RMI主机的相应服务 String d = myHello.sayHello(); //调用远程函数 label1.setText(d); //显示结果 } catch(Exception e1) { System.out.println("Error: " + e1); //捕捉异常情况 } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -