我使用 Eclipse 及其 Applet Viewer 来试验我的小程序。Applet Viewer 出现在 Eclipse 的顶部,在 Applet 执行期间,我单击 Eclipse 图标以从任务栏中将其最大化。然后 Applet Viewer 失去焦点,Applet.stop()
并被调用。
当我最小化 Eclipse 时,Applet Viewer 再次回到前面,获得焦点并Applet.start()
并被调用。这最终会变得一团糟。
一旦用户更改到另一个选项卡或最小化浏览器,浏览器调用是否是正常行为Applet.stop
我可以禁用它吗,我想要stop
被调用。
也许我在线程中遗漏了一些东西。
我的代码是这样的:
public class AppletApp extends JApplet {
public void init() {
super.init();
System.out.println("AppletApp.init()");
}
public void start() {
System.out.println("AppletApp.start()");
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
getContentPane().add(new JLabel("Test Label"));
}
});
} catch (InterruptedException e) {
} catch (InvocationTargetException e) {}
Runnable runnable = new Runnable() {
@Override
public void run() {
//For DJ Browser Component
NativeSwing.initialize();
NativeInterface.open();
//connect to server and start message exchange
Client.init(userInterface);
userInterface.authenticate();
NativeInterface.runEventPump();
}
};
Thread t = new Thread(runnable);
t.start();
}
public void stop() {
System.out.println("AppletApp.stop()");
}
public void destroy() {
System.out.println("AppletApp.destroy()");
}
}