2011-12-15 127 views
0

我想在Java代碼中某處:測試Java代碼是否在applet中運行的最佳方法是什麼?

if(inAnApplet()) { 
    initForApplet(); 
} else { 
    initForApp(); 
} 
+1

如果`main`被調用,這不是一個小程序。只是在某個地方保存該狀態。 – jli 2011-12-15 20:39:45

+0

@jli這是我記得在幾天之內(當Applets幾個月很酷時 - - )。我很驚訝現在還沒有一種巧妙的技術,隨着小應用程序和JWS的合併(或任何真正被稱爲)的出現。 – 2011-12-15 20:54:51

+0

我正在尋找更多的堡壘靜態全球「系統」的方式來獲得它。所以我可以把它放在一個靜態初始化器中。如果我通過某個參數作爲參數,那麼我可以區分。在最初的階段中,我可能想要加載一個或另一個類,具體取決於虛擬機運行的上下文。 – peterk 2011-12-15 22:43:07

回答

2

假設某處你有延伸JApplet視圖,它是從那裏你有代碼訪問,如果,你可以寫:

if(mainView instanceof JApplet) { 
    initForApplet(); 
} else { 
    initForApp(); 
} 
5
public class MyApplet extends JApplet { 

    boolean isapplet = true; 


    public MyApplet() { 
     this(true); 
    } 

    public MyApplet(boolean isapplet) { 
     this.isapplet = isapplet; 
    } 

    public static final void main(String[] argv) { 
     // is an app 
     new MyApplet(false); 
    } 
} 
1

像JLI說,也許你可以創建一個初始化中public (static) boolean isApplet = true中,你會喜歡做的檢查,並設置在main方法假類的地方訪問,爲public static void main(String[] args)不在Applet中調用。

這樣你的支票就可以簡單地開始if(isApplet)

HTH

相關問題