首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Swing 實作半透明 JFrame 視窗範例

     編輯:Java 相關知識

前言

Java 6u10 之後引入 com.sun.awt.AWTUtilities.setWindowOpacity 可輕易實作半透明視窗。本文提供最小可執行範例。(注意:此 API 為內部類別,Java 9+ 建議使用 JFrame.setOpacity(float)。)

程式碼

import javax.swing.JFrame;

public class TranslucentFrame extends JFrame {
    public TranslucentFrame() {
        // 設定不透明度 0.6 (60%)
        com.sun.awt.AWTUtilities.setWindowOpacity(this, 0.6f);
    }

    public static void main(String[] args) {
        TranslucentFrame frame = new TranslucentFrame();
        frame.setTitle("半透明視窗");
        frame.setSize(400, 300);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

現代寫法

Java 7+ 可直接呼叫 setOpacity(0.6f);但需確保視窗為 UNDERLINE 或 TRANSLUCENT 型態:

frame.setBackground(new Color(0, 0, 0, 0)); // 啟用透明背景
frame.setOpacity(0.6f);

注意事項

  • 僅支援支援透明度的作業系統/視窗管理器。
  • 內部 API 可能在未來版本移除,生產碼請改用標準 API。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved