【问题标题】:Making a drag image opaque instead of semi-transparent使拖动图像不透明而不是半透明
【发布时间】:2012-03-23 04:18:09
【问题描述】:

我希望我的应用程序中的拖动图像是不透明(实心)而不是半透明的,那么有没有办法指定图像的不透明度和 alpha 级别?

我给我的TransferHandler.setDragImage 提供了一个未使用不透明度创建的图像,所以我的印象是这是Java 提供的默认功能。我希望图像不透明,我该怎么做?

【问题讨论】:

    标签: java drag-and-drop opacity alpha


    【解决方案1】:

    您必须将他的 TransferHandler 的可视化表示设置为 null。

    "getVisualRepresentation: 公共图标 getVisualRepresentation(Transferable t): 返回一个建立传输外观的对象。这对于在执行拖动操作时提供反馈以及在具有视觉外观的剪贴板实现中表示传输都很有用......如果返回为 null,则默认 Swing 逻辑将不会执行 alpha 混合拖动动画。"

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

    【讨论】:

    • 感谢您的回复,我将不得不再调查一下。我之前确实看到了该功能,但我认为它不适用于这种情况。无论如何,我创建了一个 TransferHandler 的子类,它被覆盖以返回 null 并且由于某种原因该函数从未被调用。就像我说的那样,我仍然需要调查它,因为我一定遗漏了一些东西。
    • 是的,我自己对这门课并不熟悉,只是告诉你我在网上能找到什么。如果你真的需要这个工作,你可以手动在 JFrame 中绘制图像。
    猜你喜欢
    • 2014-05-27
    • 2011-09-15
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    相关资源
    最近更新 更多