⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 talkmaster.java

📁 移动Agent编程IBM开发的移动Agent编程工具Aglet 采用纯Java编写可移植性好这是用它写的一些例子用于初级入门
💻 JAVA
字号:
/*
 * @(#)TalkMaster.java
 *
 * 03L7246 (c) Copyright IBM Corp. 1996, 1998
 *
 * The program is provided "as is" without any warranty express or
 * implied, including the warranty of non-infringement and the implied
 * warranties of merchantibility and fitness for a particular purpose.
 * IBM will not be liable for any damages suffered by you as a result
 * of using the Program. In no event will IBM be liable for any
 * special, indirect or consequential damages or lost profits even if
 * IBM has been advised of the possibility of their occurrence. IBM
 * will not be liable for any third party claims against you.
 */

package examples.talk;

import com.ibm.aglet.*;
import java.io.Externalizable;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.IOException;
import java.net.URL;

/**
 *
 * @version     1.00    $Date: 1999/10/27 05:16:39 $
 * @author      Mitsuru Oshima
 * @see examples.talk.TalkSlave
 */
public class TalkMaster extends Aglet {

    transient AgletProxy remoteProxy = null;

    String name = "Unknown";

    TalkWindow window = null;

    public void onCreation(Object o) {
	window = new TalkWindow(this);
	window.pack();
	window.show();
	try {
	    name = getProperty("user.name");
	} catch (Exception ex) {
	}
    }

    private String getProperty(String key) {
	return System.getProperty(key, "Unknown");
    }

    public void onDisposing() {
	if (window != null) {
	    window.dispose();
	    window = null;
	}
	if (remoteProxy != null) {
	    try {
		remoteProxy.sendMessage(new Message("bye"));
	    } catch (AgletException ex) {
		ex.printStackTrace();
	    }
	}
    }

    public void dispatchSlave(String dest) {
	try {
	    if (remoteProxy != null) {
		remoteProxy.sendMessage(new Message("bye"));
	    }

	    AgletContext context = getAgletContext();

	    AgletProxy proxy = context.createAglet(null, "examples.talk.TalkSlave", getProxy());

	    URL url = new URL(dest);
	    remoteProxy = proxy.dispatch(url);

	} catch (InvalidAgletException ex) {
	    ex.printStackTrace();
	} catch (Exception ex) {
	    ex.printStackTrace();
	}
    }

    void sendText(String text) {
	try {
	    if (remoteProxy != null) {
		remoteProxy.sendMessage(new Message("text",
						    name + " : " + text));
	    }
	} catch (Exception ex) {
	    ex.printStackTrace();
	}
    }

    public boolean handleMessage(Message msg) {
	if (msg.sameKind("dialog")) {
	    window.show();
	} else if (msg.sameKind("text")) {
	    if (window.isVisible() == false) {
		window.show();
	    }
	    window.appendText((String)msg.getArg());
	    return true;
	}
	return false;
    }

    private void print(String m) {
   	System.out.println("Sender: " + m);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -