2012-02-19 74 views
0

所以我想要在applet上添加一个半透明的jpanel,所以我可以在它上面绘制图形,但是当我做jpanel时,在applet下面显示面板。Jpanel在一个小程序的顶部

下面是一些代码:

JPanel panel = new JPanel(); 
panel.setBounds(2, 20, 780, 510); 
contentPane.add(panel); 
panel.setBackground(Color.RED); 
panel.setForeground(new Color(255, 0, 0)); 
Applet app = (Applet) new URLClassLoader(
    new URL[] { new File("./App.jar").toURI().toURL() }) 
        .loadClass("Main") 
        .newInstance(); 
        app.init(); 
        app.start(); 
        app.setBounds(2, 20, 780, 510); 
       panel.add(app); 
       JPanel panel2 = new JPanel(); 
       panel2.setBounds(10, 11, 760, 488); 
       panel2.setVisible(true); 
       panel2.setBackground(new Color(0, 0, 0, 50)); 
       panel2.setOpaque(false); 
       app.add(panel2); 

所以,我想这与JPanel并JInternalFrame的和都来了相同的结果。

我应该使用别的东西而不是jpanel?或者是那个有什么问题。

回答

1

首先,不要混合使用AWT和Swing组件,因此您应该处理JApplet而不是Applets。但至于你的问题,为什么不简单地将JPanel添加到JApplet的init方法中的JApplet的contentPane?

+0

对不起,迟到的答案。 是啊,我知道:P 如果我在applet init之前添加它,它只是创建一个没有任何透明度的面板上的小程序。 – Jixi 2012-02-19 02:17:07

+0

您可以在小程序运行期间随时向applet添加JPanel,并且可以随时改变其透明度。我仍然不清楚为什么我的方法不起作用。你能否更详细地解释(在你原来的问题中)这个问题? – 2012-02-19 02:34:12

+0

对不起,迟到的回复,现在我的问题似乎是,它不是设置panel2的颜色,如果我将它添加到小程序,这就是为什么它不透明。 如果我将它添加到下面的面板中,我可以设置颜色并将其置于小程序的顶部,但它会忽略该小程序。 – Jixi 2012-02-19 03:32:22

1

什么,我想是增加对小程序的顶部半透明的JPanel,这样我就可以在其上

使用JApplet的的Glass Pane的顶部绘制的图形。