在Java Swing中创建半透明窗口

使用JDK 7,我们可以非常容易地使用swing创建半透明的窗口。使用以下代码,可以使JFrame半透明。

//将窗口设置为55%不透明(45%半透明)。
frame.setOpacity(0.55f);

示例

参见下面具有55%半透明性的窗口的示例。

import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Tester {
   public static void main(String[] args)  {              
      JFrame.setDefaultLookAndFeelDecorated(true);
         //在事件调度线程上创建GUI-
         SwingUtilities.invokeLater(new Runnable() {
         @Override
         public void run() {
            createWindow();                
         }
      });
   }

   private static void createWindow() {          
      JFrame frame = new JFrame("Translucent Window");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      frame.setLayout(new GridBagLayout());
      frame.setSize(200, 200);            
      frame.setLocationRelativeTo(null);      
       
      //添加一个示例按钮。
      frame.add(new JButton("Hello World"));

      //将窗口设置为55%不透明(45%半透明)。
      frame.setOpacity(0.55f);
      frame.setVisible(true);          
   }  
}

输出结果