java中创建透明窗口,不仅可以达到自定义窗口形状的效果,甚至还可以用于显示动画,今天我来介绍一下如何最简单地创建透明窗口并显示我们的窗口组件。
import java.awt.*;
import javax.swing.*;
public class Gif {
public static void main(String[] args) {
JFrame jf=new JFrame();
jf.setSize(512,512);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setUndecorated(true);//窗口去边框
jf.setBackground(new Color(0,0,0,0));//设置窗口为透明色
ImageIcon i=new ImageIcon("gif\\1.gif");//指定图片对象
JLabel imgLabel = new JLabel(i);//将背景图放在标签里。
jf.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//将背景标签添加到jf窗口对象的LayeredPane面板里。
imgLabel.setBounds(0,0,i.getIconWidth(), i.getIconHeight());//设置背景标签的位置
Container cp=jf.getContentPane();
cp.setLayout(new BorderLayout());
((JPanel)cp).setOpaque(false);
jf.show();
}
}
运行效果: