Java アプレットの次のコード ソースがあります。
package m2mcom.web;
import m2mcom.entities.AutomatedTelnetClient;
import javax.swing.JApplet;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;
public class Displaytext extends JApplet {
//Called when this applet is loaded into the browser.
public void init() {
//Execute a job on the event-dispatching thread; creating this applet's GUI.
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
AutomatedTelnetClient telnet = new AutomatedTelnetClient();
String answer = telnet.request();
JLabel lbl = new JLabel(answer);
add(lbl);
}
});
} catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
}
AutomatedTelnetClient クラスで telnet 要求が行われ、応答が得られると、セッションも閉じられます。.html ファイルを実行すると、何も描画されず、画面が空になります。なぜそのように振る舞うかは誰でも知っています。文字列をアプレットに追加する他の方法はありますか? 問題は SwingUtilities の inovkeAndWait ではないでしょうか?
これはHTMLです:
<HTML>
<HEAD>
</HEAD>
<BODY>
<div >
<APPLET CODE="m2mcom.web.Displaytext.class" WIDTH="800" HEIGHT="500">
</APPLET>
</div>
</BODY>
</HTML>