2012-03-05 158 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