JPanel p1 = (JPanel)this.getContentPane();
这句语句的作用是,首先初始化一个内容面板——this.getContentPane(),这事使用JFrame添加组件的正确方法,并且将这个初始化好的内容面板的类型转换为JPanel类型的,这样才可以使得这个内容面板设置透明。
p1.setOpaque(false);
这句话即设置透明。p1好像放在桌子上面的一块玻璃,玻璃下的东西可以透过玻璃让我们看见,只有玻璃上面的东西才会挡住玻璃下面的东西。p1下面正是我们要添加的图片,其余的组件,比如按钮,标签都放在p1上。如果参数是true,则全部覆盖下面的组件。
之后,便是一些原理性的知识了,JFrame里,由根面板,玻璃面板,分层面板结合而成,分层面板由内容面板和菜单条构成,我们将图片放在分层面板中,因为内容面板在分层面板的上面,所以必须要将内容面板设置透明。为了将内容面板设置透明,所以才初始化内容面板。现在,将代关键代码一起放在下面:
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组件上添加其余的组件了