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

📄 talkmaster.java

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

import com.ibm.aglet.*;
import java.awt.Component;
import java.awt.Window;
import java.io.PrintStream;
import java.net.URL;

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

public class TalkMaster extends Aglet
{

    transient AgletProxy remoteProxy;
    String name;
    TalkWindow window;

    public TalkMaster()
    {
        remoteProxy = null;
        name = "Unknown";
        window = null;
    }

    public void dispatchSlave(String s)
    {
        try
        {
            if(remoteProxy != null)
                remoteProxy.sendMessage(new Message("bye"));
            AgletContext agletcontext = getAgletContext();
            AgletProxy agletproxy = agletcontext.createAglet(null, "examples.talk.TalkSlave", getProxy());
            URL url = new URL(s);
            remoteProxy = agletproxy.dispatch(url);
        }
        catch(InvalidAgletException invalidagletexception)
        {
            invalidagletexception.printStackTrace();
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }

    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"))
        {
            if(!window.isVisible())
                window.show();
            window.appendText((String)message.getArg());
            return true;
        }
        return false;
    }

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

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

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

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

⌨️ 快捷键说明

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