getLayeredPane与getContentPane的区别

来源:互联网 发布:js div弹窗 编辑:程序博客网 时间:2024/06/15 15:28
JFrame里,由根面板,玻璃面板,分层面板结合而成。我们将图片放在分层面板中,因为内容面板在分层面板的上面,所以必须要将内容面板设置透明。

JPanel p1 = (JPanel)this.getContentPane();

这句语句的作用是,首先初始化一个内容面板——this.getContentPane(),这是使用JFrame添加组件的正确方法,并且将这个初始化好的内容面板的类型转换为JPanel类型的,这样才可以使得这个内容面板设置透明。

p1.setOpaque(false);

  这句话即设置透明。p1好像放在桌子上面的一块玻璃,玻璃下的东西可以透过玻璃让我们看见,只有玻璃上面的东西才会挡住玻璃下面的东西。p1下面正是我们要添加的图片,其余的组件,比如按钮,标签都放在p1上。如果参数是true,则全部覆盖下面的组件。


JPanel p1 = (JPanel)this.getContentPane();

p1.setOpaque(false);

p1.setLayout(null);

this.getLayeredPane().add(background,new Integer(Integer.MIN_VALUE));

this.setBounds(300,100,icon.getIconWidth(),icon.getIconHeight());

以上的代码就是添加背景图片的关键代码,现在可以往p1组件上添加其余的组件了


原创粉丝点击