2012-03-05 163 views
0

我想我的應用程序中的拖動圖像是不透明的(實體),而不是半透明的,所以有沒有辦法指定圖像的不透明度和alpha級別?使拖動圖像不透明,而不是半透明

我已經給我的TransferHandler.setDragImage創建了一個不透明的圖像,所以我覺得這是Java提供的默認功能。我希望圖像不透明,我該怎麼做?

+0

感謝校正:) – Shackleford 2012-03-05 19:33:39

回答

0

您必須將TransferHandler的可視化表示設置爲null。

「getVisualRepresentation: 公共圖標getVisualRepresentation(轉換噸): 返回一個建立傳輸的外觀的對象這對於提供反饋,同時執行拖動操作和用於表示在剪貼板中的轉印有用具有視覺外觀的實現....如果返回值爲null,則默認的Swing邏輯不會執行alpha混合拖動動畫。「

http://enos.itcollege.ee/~jpoial/docs7/api/javax/swing/TransferHandler.html#getVisualRepresentation(java.awt.datatransfer.Transferable

+0

感謝您的答覆,我將不得不考慮多一點。我早些時候看到了這個功能,但我認爲它並不適用於這種情況。無論如何,我創建了TransferHandler的一個子類,在這裏覆蓋返回null,並且由於某種原因,函數永遠不會被調用。就像我說的,我仍然需要研究它,因爲我一定會錯過一些東西。 – Shackleford 2012-03-05 19:35:31

+0

是的,我自己並不熟悉這堂課,只是告訴你我能在互聯網上找到什麼。如果你真的需要這個工作,你可以手動在JFrame中繪製圖像。 – 2012-03-06 00:48:45