📄 talkmaster.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 + -