java - java什麼時候稱為 Applet.stop()?

  显示原文与译文双语对照的内容
136 5

我使用 Eclipse 和它的小程序查看器實驗我的小程序。 Applet查看器出現在 Eclipse的頂部,在Applet執行期間,我單擊 Eclipse icon 以最大化它的任務欄。 然後小程序查看器失去焦點,Applet.stop() 被調用。

最小化 Eclipse 時,小程序查看器再次進入前面,獲得焦點和 Applet.start() 被調用。 這一切都結束了。

如果用戶改變了另一個標籤,或者最小化瀏覽器,瀏覽器的正常行為是正常的,我想禁用它,我希望永遠不要被調用。

也許我在線索中漏掉了一些東西。

我的代碼類似於下面這樣:


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()");


 }


}



时间: 原作者:

56 5

當用戶更改到另一個選項卡或者最小化瀏覽器時,瀏覽器調用 Applet.stop的正常行為是正常的?

是的,這是正常的。從 javadoc:

由瀏覽器或者小程序查看器調用以通知這裡小程序它應該停止它的執行。 當包含這個小程序的網頁被另一個頁面替換時,它也被調用了。

當你選擇 switch 選項卡時,我認為已經替換了包含網頁,因為 stop() 被調用了。

我可以禁用它我想停止。

不你不能,你不能控制。 但是,你可以依賴 init()destroy() 方法而不是 start()stop() 。 如果不可見( 例如如果不可見,動畫就毫無意義),start()stop() 用於恢復/暫停任何消耗資源的資源。

原作者:
...