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

📄 talkslave.java

📁 在IBM AGLET平台下不同主机可以进行窗口文字交互的代码
💻 JAVA
字号:
package examples.talk;

import com.ibm.aglet.*;
import com.ibm.aglet.event.MobilityAdapter;
import com.ibm.aglet.event.MobilityEvent;
import java.awt.Component;
import java.awt.Window;
import java.io.PrintStream;

// Referenced classes of package examples.talk:
//            TalkWindow

public class TalkSlave extends Aglet
{

    transient String name;
    transient TalkWindow window;
    AgletProxy masterProxy;

    public TalkSlave()
    {
        name = "Unknown";
        window = null;
        masterProxy = null;
    }

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

    public boolean handleMessage(Message message)
    {
        if(message.sameKind("dialog"))
        {
            window.show();
        } else
        {
            if(message.sameKind("text"))
            {
                String s = (String)message.getArg();
                if(!window.isVisible())
                    window.show();
                window.appendText(s);
                return true;
            }
            if(message.sameKind("bye"))
            {
                window.appendText("Bye Bye..");
                try
                {
                    Thread.currentThread();
                    Thread.sleep(3000L);
                }
                catch(Exception exception) { }
                message.sendReply();
                dispose();
            }
        }
        return false;
    }

    public void onCreation(Object obj)
    {
        masterProxy = (AgletProxy)obj;
        addMobilityListener(new MobilityAdapter() {

            public void onArrival(MobilityEvent mobilityevent)
            {
                window = new TalkWindow(TalkSlave.this);
                window.pack();
                window.show();
                try
                {
                    name = getProperty("user.name");
                }
                catch(Exception exception)
                {
                    exception.printStackTrace();
                }
            }

        });
    }

    public void onDisposing()
    {
        if(window != null)
        {
            window.dispose();
            window = null;
        }
    }

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

    public void sendText(String s)
    {
        try
        {
            if(masterProxy == null)
                return;
            masterProxy.sendMessage(new Message("text", name + " : " + s));
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }

}

⌨️ 快捷键说明

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