2012-12-28 98 views
1

我已經在Java中被實現客戶端應用程序作爲與Swing。但現在我想要從中構建Applet。重新設計/重構的最好方法是什麼,以便能夠輕鬆構建它們並保持乾燥。如何組織代碼輕鬆構建applet和應用程序?

這是簡短的代碼提取具有main()

public class Client { 
    public static final ScheduledExecutorService SERVICE; 
    protected static String host; 
    protected static int port; 

    static { 
     SERVICE = Executors.newSingleThreadScheduledExecutor(); 
     host = 
     port = 
    } 

    public static void main(String[] args) { 
     //initalize netty 

     //create user interface = JFrame in SwingUtilities.invokeLater 

     connect(); 
    } 

    public static void connect() { 
     //connect using netty 
    } 

所以我複製此文件作爲單獨的一個,從JApplet延伸並改變maininit,所以它可運行,但當然它很醜陋,因爲大部分代碼都是複製粘貼的。

有沒有通用的解決方案如何重新設計呢?

UPD:

public class Client { 
    public static void main (String[] args) { 
     App app = new App(); 
     app.connect(); 
    } 
} 

public class Applet extends JApplet { 
    public void init() { 
     App app = new App(); 
     app.connect(); 
    } 
} 

和所有初始化邏輯移動到App

回答

3

除去大量的應用到不依賴於頂層容器類組。

這意味着,你可以重複使用/重新部署應用程序,你需要在沒有鏈接你的自我頂層容器。

然後,您將需要一個「主」類爲您的桌面入口點和一個「小程序」類。這將構建應用程序主界面並將其附加到屏幕容器。

這就是爲什麼我們建議你從來沒有直接從頂層容器覆蓋的原因之一,但是從簡單的容器擴展應用程序的邏輯/ UI,像JPanel

+0

你的意思是像我的更新? –

+0

取決於UI組件在哪裏?你不能靠小程序被允許顯示框架 – MadProgrammer

+0

是的,他們是在JFrame中。爲什麼不能在Applet中使用它? –

相關問題