Java swing图层的问题 10

我想详细了解swing的多层图层知识,看下面两个代码为什么出来的效果是不一样的?importjavax.swing.*;importjava.awt.*;publiccl... 我想详细了解swing 的多层图层知识,看下面两个代码为什么出来的效果是不一样的?
import javax.swing.*;
import java.awt.*;
public class Mycanvas1
{
public static void main(String args[]){
JFrame f=new JFrame();
JButton b=new JButton("玻璃面板");
JButton b1=new JButton("内容面板之上");
JButton b2=new JButton("内容面板之下");
JButton b3=new JButton("内容面板");

JComponent p1=(JComponent)f.getGlassPane();
JComponent p2=(JComponent)f.getContentPane();
JComponent p3=(JComponent)f.getLayeredPane();
JComponent p4=(JComponent)f.getRootPane();

p1.setBackground(Color.red);
p2.setBackground(Color.yellow);
p3.setBackground(Color.blue);
p4.setBackground(Color.green);
p1.add(b);
p2.add(b3,BorderLayout.SOUTH);
//p2.setOpaque(false);
p3.add(b2,new Integer(-30001));
p3.add(b1,new Integer(-29999));
//p3.setOpaque(false);
b1.setSize(200,22); b1.setLocation(7,35);
b2.setSize(200,22); b2.setLocation(7,60);
f.setLocation(222,122);
f.setSize(600,600);
f.setVisible(true);
}
}
这个类可以通过透明来显示不同层的组件,但是
import java.awt.*;
import javax.swing.*;
public class Mycanvas2 extends JFrame{
Mycanvas2(){
JButton b1=new JButton("内容面板之上");
JButton b2=new JButton("内容面板之下");
JButton b3=new JButton("内容面板");

JComponent p1=(JComponent)this.getGlassPane();
JComponent p2=(JComponent)this.getContentPane();
JComponent p3=(JComponent)this.getLayeredPane();
JComponent p4=(JComponent)this.getRootPane();

p1.setBackground(Color.blue);
p2.setBackground(Color.red);
p3.setBackground(Color.BLACK);
p4.setBackground(Color.CYAN);
p2.add(b3,BorderLayout.SOUTH);
//p2.setOpaque(false);
//p3.setOpaque(true);
p3.add(b1,new Integer(22));
p3.add(b2,new Integer(-30001));
setLocation(222,122);
setSize(600,600);
setVisible(true);
}

public static void main(String args[]){
new Mycanvas2();
}

}

这个类是写的测试的类,计本上就是和第一个类是一样的,但是这个类却不能显示各个图层的组件,我原本就是想测试图层的透明,然后再在图层上增加图片,canvas什么的,想实现的是一中类似于google地图的小东西,目前只要实现三层即可,最底层canvas,上一层是个jpanel,最上一层准备加一个透明的textarea,实现文字的描述,但是现在这个图层的叠加还是有点一知半解,忘高手大虾不忘赐教
展开
 我来答
zymb1983
2010-07-13 · TA获得超过199个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:123万
展开全部
这个不是涂层叠加。就是加了机构按钮。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式