前言:最近一直在管淘宝上的小店,本来想GF如果从广州回来的话给她做的,后来想想这个店一共一个月才能赚多少钱啊?而且养活不了她,所以最近没开始那么有干劲了,还是回来看看Swing了。真的是没有“知识”做什么都不行啊,甚至连做个地图编辑器中的层次地图显示都有难度,真是可怜的人啊我!还好前几天看到个重要的东西,透明!嘿嘿,不正是我现在所需要的么?前几天一直没测试,今天睡不着,正好来测试下。觉得,如果看完了《O'Reilly - Java Swing 2nd Edition》的话还是有很大的帮助的,虽然一直磨磨蹭蹭才把第三章看掉(我连Preface都看的哦~是偶的一的本英文书啊~哎,真不巧,选了这么厚本),但是已经受益匪浅了。
突然想起了前段时间看到的Opaque,貌似是让component本身是否透明显示的,几乎通宵了,又没有事情可干,于是想到何不测试下效果?嘿嘿,果然!成功了内~哎,自己疏于看书啊~最近忙啊,忙疯了都!给个效果图吧~对于完成的实现,就暂且给出源码吧,^_^。

为了对比期间,再次给出上次未有透明效果的图:
Hence,这下我可以大展拳脚一下了!说笑那~下面是实现效果的代码,其中上层的图片为透明的png格式。
import
javax.swing.
*
;
import
java.awt.
*
;


public
class
LayerTest
...
{

/** *//**
* Method main
*
*
* @param args
*
*/

public static void main(String[] args) ...{
// TODO: 在这添加你的代码
JFrame frame = new JFrame("层容器测试");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
JLayeredPane layer = new JDesktopPane();
JLabel label;
JPanel jp;
label = new JLabel(new ImageIcon("1.jpg"));
label.setBounds(20, 20, 600, 480);
jp = new JPanel();
jp.setBounds(50, 50 , 640, 480);
jp.add(label, BorderLayout.CENTER);
jp.setOpaque(false);
layer.add(jp, layer.DEFAULT_LAYER);
jp = new JPanel();
jp.setBounds(400, 100, 480, 640);
jp.setOpaque(false);
jp.add(new JLabel(new ImageIcon("1.png")), BorderLayout.CENTER);
layer.add(jp, layer.MODAL_LAYER);
frame.add(layer, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setVisible(true);
}

}
呵呵,只要我的想法被实现出来就觉得是干劲无限啊!看来今天要早点起床了!争取12点之前起来!对了,明天不要忘记要给妈妈买香蕉吃,MS这几天有点便秘= =!今天给忘记了~哎~~不孝子啊!晕,天都亮了……