日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使JFrame透明

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使JFrame透明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先創建一個帶有滑塊的框架,該滑塊將用于設置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle('Transparent Frame');setSize(400,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JSlider slider = new JSlider(JSlider.HORIZONTAL);add(slider);setVisible(true);}public static void main(String[] args) {new TransparentFrame();} }

其輸出將是:

現在將更改偵聽器添加到滑塊,以便我們可以對其進行監視。

slider.addChangeListener(new ChangeListener() {@Overridepublic void stateChanged(ChangeEvent e) {} });

現在,我們將在此方法中編寫透明性邏輯,但是在執行此操作之前,首先讓我們看看如何使JFrame透明。

為了使JFrame透明,java具有一個內置的實用程序類AWTUtilities 。 通過使用此類提供的方法,我們可以使JFrame透明。 以下是該代碼:

AWTUtilities.setWindowOpacity(window, floatOpacity);

參數:

窗口–您的框架/窗口對象。

floatOpactity-在0到1之間。1表示不透明,0表示完全透明。

因此,現在我們知道我們必須將此邏輯添加到滑塊更改事件,并將滑塊值指定為floatOpacity值。 因此對于以下狀態更改stateChanged()方法:

@Override public void stateChanged(ChangeEvent e) {JSlider slider = (JSlider) e.getSource();if(!slider.getValueIsAdjusting()){AWTUtilities.setWindowOpacity(TransparentFrame.this, slider.getValue());} }

認為已經完成。 不,我們仍然必須確保不透明度值不超過其0.0f到1.0f的限制。 因此,我們必須將滑塊限制為這些值。 由于滑塊不支持點值,因此我們將以10的倍數取值,然后將它們除以100得到所需的值。 為此,我們將更改JSlider聲明和stateChanged,如下所示:

JSlider slider = new JSlider(JSlider.HORIZONTAL, 10, 100, 100);

在stateChanged方法中更改以下行:

AWTUtilities.setWindowOpacity(TransparentFrame.this, slider.getValue()/100f);

因此,現在當我們運行該程序時,我們會看到一個框架,其中帶有一個設置為結束的滑塊。 當我們更改滑塊時,框架會相應地更改其透明度。

輸出:

注意:

要在Eclipse中使用AWTUtilities類,您需要更改首選項設置,否則訪問受限類可能會出錯。 要更改設置,請執行以下操作:

  • 右鍵單擊您的項目。 選擇屬性。
  • 選擇Java編譯器并將其展開。
  • 選擇錯誤/警告。
  • 啟用項目特定的設置。
  • 在“不建議使用和限制的API”中,您將找到“禁止引用(訪問規則)”。將其更改為“警告”或“忽略”
  • 參考: harryjoy博客上的JCG合作伙伴 Harsh Raval 使JFrame透明 。


    翻譯自: https://www.javacodegeeks.com/2012/09/make-jframe-transparent.html

    總結

    以上是生活随笔為你收集整理的使JFrame透明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。