2012-06-02 104 views
0

我對編程有點新,但我已經知道了很多。我一直呆在默認窗口中,但現在我處於不能做我想知道的事情的地步。我試圖做一個類,表示是透明的自定義窗口,它使用的是JFrameCFrame但將其設置透明我必須使用:Java - 將組件或圖像繪製爲無窗口屏幕

try 
{ 
    AWTUtilities.setWindowOpaque(CFrame, false); 
} 

catch(Exception ex) 
{ 
    System.err.println("Failed to set CFrame Opaque"); 
} 

但因爲有不同的JVM的AWTUtilities,這來自Sun,不起作用。所以如果有人知道如何解決我的問題或知道如何繪製組件和圖像來屏幕會有幫助。

+1

究竟是什麼問題?你試圖讓窗口變得不透明,但是當你這樣做時發生了什麼? – 2012-06-02 02:15:04

+0

我運行Linux和Windows。 Linux有JDK 7,Windows有JDK 6.如果我在Linux上運行我的應用程序,我有時會遇到非透明問題,我忘記了它在Mac上的情況。 –

回答

3

如果您可以使用Java 7,則窗口不透明內容已被移入公共API。參見:http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#uniform。基本上,Frame類中現在有一個setOpacity方法,但本教程顯示瞭如何檢測圖形系統是否支持透明度,以便自己進行「平臺驗證」。

對於一般的擺動畫,網上有一堆教程。也許從這個開始吧:http://docs.oracle.com/javase/tutorial/uiswing/painting/step1.html。即使在這裏彈出的相關問題也會有豐富的信息。

該書Filthy Rich Clients對於高級擺動用戶界面非常有用。