【问题标题】:Java dnd gray boxJava dnd 灰框
【发布时间】:2013-06-25 16:22:50
【问题描述】:

我正在尝试为 Java 制作一个 Google Chrome 选项卡端口。

如何消除拖动源周围的灰色框(以红色突出显示)?

到目前为止,其他一切都运行良好,但那个灰色框让我发疯了。

拖动文本时DND示例的另一个示例。 “问题”是那个灰色边框。

【问题讨论】:

  • 没有代码,我们无法猜测这里发生了什么。
  • 我不想使用重影图像或重叠 GlassPane,我只想(以某种方式)在拖动时关闭光标修改。
  • 在 Dnd 应用程序的每个示例中,在从源拖动到目标期间都有一个灰色框(默认情况下)。我试图“谷歌”这个问题,但我发现的唯一解决方案是如何在拖动过程中显示拖动的内容(使用幻影图像)。我不需要那个。我只需要在拖动某些东西时不要修改我的光标。它让我想起了当年的 MS Win 调整大小,又大又丑的灰色盒子……
  • 它不是写在我的代码中它不是由我绘制的它只是他/她正在拖动某些东西的“反馈给用户”的“功能”。而且因为我自己管理拖动反馈,所以我不想要那个灰色框。有那么难吗?选项卡处于“中间拖动”状态
  • 我从您的 cmets 中假设您已经实现了一个自定义 TransferHandler 子类以从您自己的自定义组件中拖动。在我的经验中,这从未导致“灰盒”(我也在 Mac 上)。所以如果不看代码,我真的帮不了你。

标签: java drag-and-drop


【解决方案1】:

在 DragHandler 源码中找到解决方案:

要擦除灰色框,您无需在paintIcon 中执行任何操作

protected Icon getDragIcon(DragGestureEvent e, Point offset) {
            return new Icon() {
                public int getIconWidth() { return 0; }
                public int getIconHeight() { return 0; }
                public void paintIcon(Component c, Graphics g, int x, int y) {

                }
            };
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多