让窗体边框透明
setUndecorated(true);
?
让整个窗体变透明包括组件也透明//this.setUndecorated(true);必须写在下面两行代码前
?
com.sun.awt.AWTUtilities.setWindowOpacity(this,0.5f);//传入的参数是操作的JFrame,与要透明的比例
//只让窗体透明组件透明
com.sun.awt.AWTUtilities.setWindowOpaque(this, false);
?
?
让JPanel透明
setOpaque(false)
?
让按钮透明 ?//这个方法可以用来不同形状的按钮
?jb.setToolTipText("注释");这个是给按钮假如注释
jb.setContentAreaFilled(false);//让按钮的边框透明掉
jb.setBorderPainted(false);//让按钮的body透明掉
//设置按钮的图片,
对于JButton
ImageIcon im=new ImgeIcon("图片路径");/、按照这种方法实例化是哪个对象,传入下面方法
?
jb.setIcon(im1);//设置原始显示图片
jb.setPressedIcon(im2);//设置点击后的显示图片
jb.setRolloverIcon(im2); //设置鼠标进入时候显示的图片
对于JRadioButton
JRadioButton jb=new JRadioBUtton(new ImageIcon("直线.png"));//原始显示图片
?
jra.setRolloverIcon(new ImageIcon("直线1.png"));//鼠标进入后显示图片
jra.setSelectedIcon(new ImageIcon("直线2.png"));//选中后显示的图片
?
?
?
?
/***下面提供两种方法来实现界面到的背景
*********第一种**********
//首先实现一个图片标签
?
ImageIcon img=new ImageIcon("背景.png");
JLabel jl=new JLabel(img);
//添加图片至Frame的第二层
jf.getLayeredPane().add(jl, new Integer(Integer.MIN_VALUE))
//把标签的大小位置设置为图片刚好填充整个面
jl.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
//将上面的面板设置透明
Container P4=jf.getContentPane(); ?
((JComponent) P4).setOpaque(false);
//如果界面上加载了其他JPanel的话,将其设置透明
jpnorth.setOpaque(false);
jpwest.setOpaque(false);
jpsouth.setOpaque(false);
jpcenter.setOpaque(false);
*********第二种**********
//直接重写JPanel中的paint
?
JPanel jp=new JPanel(){
? ? ? ? ? ? ? ?//重写paintComponent
public void paintComponent(Graphics g){
ImageIcon im=new ImageIcon("背景.png");
? ? ? ? g.drawImage(im.getImage(),0,0,375,295,null);//把图片按照定义的大小画上去
? ? ? ? super.paintComponent(g);//调用父类的方法
}
};
jp.setsetOpaque(false)//设置透明,这一步不能少
?
?
?
?