Java学习笔记之SWING的知识点介绍
前言:最近一直在管淘宝上的小店,本来想GF如果从广州回来的话给她做的,后来想想这个店一共一个月才能赚多少钱啊?而且养活不了她,所以最近没开始那么有干劲了,还是回来看看Swing了。真的是没有“知识”做什么都不行啊,甚至连做个地图编辑器中的层次地图显示都有难度,真是可怜的人啊我!还好前几天看到个重要的东西,透明!嘿嘿,不正是我现在所需要的么?前几天一直没测试,今天睡不着,正好来测试下。觉得,如果看完了《O'Reilly - Java Swing 2nd Edition》的话还是有很大的帮助的,虽然一直磨磨蹭蹭才把第三章看掉(我连Preface都看的哦~是偶的一的本英文书矮哎,真不巧,选了这么厚本),但是已经受益匪浅了。
突然想起了前段时间看到的Opaque,貌似是让component本身是否透明显示的,几乎通宵了,又没有事情可干,于是想到何不测试下效果?嘿嘿,果然!成功了内~哎,自己疏于看书矮最近忙啊,忙疯了都!给个效果图吧~对于完成的实现,就暂且给出源码吧,^_^。
为了对比期间,再次给出上次未有透明效果的图:
Hence,这下我可以大展拳脚一下了!说笑那~下面是实现效果的代码,其中上层的图片为透明的png格式。
importjavax.swing.*;
importjava.awt.*;
publicclassLayerTest{
/**
*Methodmain
*
*
*@paramargs
*
*/
publicstaticvoidmain(String[]args){
//TODO:在这添加你的代码
JFrameframe=newJFrame("层容器测试");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
JLayeredPanelayer=newJDesktopPane();
JLabellabel;
JPaneljp;
label=newJLabel(newImageIcon("1.jpg"));
label.setBounds(20,20,600,480);
jp=newJPanel();
jp.setBounds(50,50,640,480);
jp.add(label,BorderLayout.CENTER);
jp.setOpaque(false);
layer.add(jp,layer.DEFAULT_LAYER);
jp=newJPanel();
jp.setBounds(400,100,480,640);
jp.setOpaque(false);
jp.add(newJLabel(newImageIcon("1.png")),BorderLayout.CENTER);
layer.add(jp,layer.MODAL_LAYER);
frame.add(layer,BorderLayout.CENTER);
frame.setSize(800,600);
frame.setVisible(true);
}
}
importjava.awt.*;
publicclassLayerTest{
/**
*Methodmain
*
*
*@paramargs
*
*/
publicstaticvoidmain(String[]args){
//TODO:在这添加你的代码
JFrameframe=newJFrame("层容器测试");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
JLayeredPanelayer=newJDesktopPane();
JLabellabel;
JPaneljp;
label=newJLabel(newImageIcon("1.jpg"));
label.setBounds(20,20,600,480);
jp=newJPanel();
jp.setBounds(50,50,640,480);
jp.add(label,BorderLayout.CENTER);
jp.setOpaque(false);
layer.add(jp,layer.DEFAULT_LAYER);
jp=newJPanel();
jp.setBounds(400,100,480,640);
jp.setOpaque(false);
jp.add(newJLabel(newImageIcon("1.png")),BorderLayout.CENTER);
layer.add(jp,layer.MODAL_LAYER);
frame.add(layer,BorderLayout.CENTER);
frame.setSize(800,600);
frame.setVisible(true);
}
}
本文地址:http://www.45fan.com/dnjc/66890.html