2013-01-12 56 views
-1

我想知道什麼是呈現我自己在一個小程序的圖形已經加載了最佳/最簡單的方法:油漆過的小程序加載的類加載器

public class Game { 

    public static Applet applet = null; 
    public static URLClassLoader classLoader = null; 

    public static void load() { 
     try { 
      classLoader = new URLClassLoader(new URL[]{Jar.getJar().toURL()}); 
      applet = (Applet) classLoader.loadClass("com.funkypool.client.PoolApplet").newInstance(); 
      applet.setSize(new Dimension(800, 600)); 
      applet.setBackground(Color.BLACK); 
      applet.setStub(new Stub()); 
      applet.init(); 
      applet.start(); 

      JFrame loader = new JFrame("Loader"); 
      loader.setPreferredSize(applet.getSize()); 
      loader.add(applet); 
      loader.pack(); 
      loader.setVisible(true); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

我想它呈現在小程序,但小程序仍然保持其原有的所有功能,我相信我需要使用反射可能嗎?我在想看着Powerbot.org呈現在客戶端在RuneScape的方式,爲客戶端仍然保持其所有功能等

如果您有任何疑問或需要看到更多的代碼,只問。

+1

你想渲染的東西「在」 applet區域或要修改小程序本身?首先,我會使用jframe的overlaylayout,並設置applet和另一個面板,並在面板的圖形對象上執行我的mojo。如果您希望修改小程序本身的圖形例程,請修改小程序代碼或從小程序代碼擴展並覆蓋繪製方法。 –

+0

我想讓它在applet上渲染,但是applet仍然保留了它的所有原始功能,我相信我需要使用反射可能嗎? 我在想看着Powerbot.org呈現在客戶端在RuneScape的方式,爲客戶端仍然保持其所有功能等 –

+0

*「需要可能要使用的寫照嗎?」 *號的反思無關本。 –

回答

0

假設由此得出的東西(我的小程序福是生鏽的),那麼你可以將其放置在一個JFrame和子類在它上面繪製JFrames' void paint(Graphics g)以便它描繪什麼就是了,和然後描繪別的東西。

一種改性的JFrame,它這可能是以下(警告:未經測試的代碼):

public static class OverlayJFrame extends JFrame { 
    private JPanel overlay; 
    public OverlayJFrame(String title) { super(title); } 
    public void setOverlay(JPanel overlay) { this.overlay = overlay; } 
    public void paint(Graphics g) { super.paint(g); overlay.setSize(getSize()); overlay.paint(g)); } 
}