java中创建透明窗口,不仅可以达到自定义窗口形状的效果,甚至还可以用于显示动画,今天我来介绍一下如何最简单地创建透明窗口并显示我们的窗口组件。
其完整代码如下:
importjava.awt.*; importjavax.swing.*; publicclassGif { publicstaticvoidmain(String[] args) { JFramejf=newJFrame(); jf.setSize(512, 512); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setUndecorated(true);// 窗口去边框jf.setBackground(newColor(0, 0, 0, 0));// 设置窗口为透明色// 设置窗口背景ImageIconi=newImageIcon("gif\\1.gif");// 指定图片对象JLabelimgLabel=newJLabel(i);// 将背景图放在标签里。jf.getLayeredPane().add(imgLabel, newInteger(Integer.MIN_VALUE));// 将背景标签添加到jf窗口对象的LayeredPane面板里。imgLabel.setBounds(0, 0, i.getIconWidth(), i.getIconHeight());// 设置背景标签的位置Containercp=jf.getContentPane(); cp.setLayout(newBorderLayout()); ((JPanel) cp).setOpaque(false); jf.show(); } }
这里的重点是:jf.setBackground(new Color(0, 0, 0, 0));
通过JFrame
的setBackground
方法,把JFrame窗体对象设置为透明色,实现窗体背景透明。
运行效果:
网络异常,图片无法展示
|