getLayeredPane与getContentPane的区别

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组件上添加其余的组件了


  • 19
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
getLayeredPane()是Swing容器类JFrame、JDialog、JInternalFrame、JApplet、JWindow的方法之一。它返回一个JLayeredPane对象,JLayeredPane作为一个容器,可以包含多个组件,并且可以将组件分层次放置。 以下是一些getLayeredPane()方法的用法: 1.获取JLayeredPane对象: ```java JLayeredPane layeredPane = frame.getLayeredPane(); ``` 2.将组件添加到特定层中: ```java layeredPane.add(component, layerIndex); ``` layerIndex参数是一个整数,它指定了组件应该添加到哪个层中。层次从0开始,最高层的索引是最大的。 3.设置组件的位置和大小: ```java component.setBounds(x, y, width, height); ``` x和y是组件左上角的坐标,width和height是组件的宽度和高度。 4.设置组件的层次: ```java layeredPane.setLayer(component, layerIndex); ``` 这个方法可以用来改变组件的层次。如果组件已经在JLayeredPane中,它会将组件移动到新的层。 5.获取组件的层次: ```java int layer = layeredPane.getLayer(component); ``` 这个方法返回组件所在的层级。 6.获取JLayeredPane中所有组件的数量: ```java int count = layeredPane.getComponentCount(); ``` 这个方法返回JLayeredPane中所有组件的数量。 7.获取指定层中的组件数量: ```java int count = layeredPane.getComponentCountInLayer(layerIndex); ``` 这个方法返回指定层中的组件数量。 8.获取指定层中的所有组件: ```java Component[] components = layeredPane.getComponentsInLayer(layerIndex); ``` 这个方法返回指定层中的所有组件。 这些是一些getLayeredPane()方法的常见用法,它们可以帮助你更好地理解JLayeredPane的使用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值