簡體   English   中英

如何設置JDialog的透明背景

[英]How to set transparent background of JDialog

HY,..

如何設置背景透明並“刪除”近距離操作(標記為紅色)? 我只想出示卡片:-)

替代文字

謝謝..!

雖然UNDECORATED JFrame透明度沒有問題(myJFrame.setBackground(new Color(0,0,0,0));已經足夠了),但JDialog的工作方式也不行。

然而,我發現以下序列適用於JDialog:

myJDialog.getRootPane ().setOpaque (false);
myJDialog.getContentPane ().setBackground (new Color (0, 0, 0, 0));
myJDialog.setBackground (new Color (0, 0, 0, 0));

A仍然存在,但是我的私有的,簡單的建議是,應該針對UnsupportedOperationException和IllegalComponentStateException嘗試所有對Window擴展器(例如JFrame,JDialog)的setBackground調用。

yourDialog.setUndecorated(true)應該為標題欄提供技巧。

使框架透明。 您必須使用yourDialog.getRootPane().setOpaque(false)在根面板上工作。

我按照文章中的說明進行了操作,並且完成了工作並不困難。 :)我現在有了半透明的SplashImage ans About屏幕,顯示PNG圖像並尊重其(復雜)透明度。 真棒。 請注意,要繼續的方法將在JDK 7中稍微改變一下。

只需注意關鍵字之間的區別。 http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#6u10

如果這樣的話會很好

yourDialog.setUndecorated(true);
yourDialog.getRootPane().setOpaque(false);

訣竅有效,但它沒有給我。 也許我做錯了什么。

我還注意到使用setContentPane(Component)很重要; 而不是getContentPane.add(Component);

我很高興它現在有效! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM