gpt4 book ai didi

java - D'n'D 上的重影图像从 canvas 2d 到 canvas 3d

转载 作者:行者123 更新时间:2023-11-30 11:38:59 26 4
gpt4 key购买 nike

我正在尝试创建重影图像,同时执行 awt.dnd 操作,从位于程序顶部面板中的 Canvas 2D 到也在面板中的 Canvas 3D在程序的中间。 D-n-D 内容已通过 setDragImage() 实现并运行。我可以很容易地得到我的 ghost 图像,但我需要让它在 Java 1.6 上工作,而 Java 1.6 缺少这个方法。

现在我尝试了很多玻璃面板等:

  • 玻璃面板在 Canvas3D(重量级组件)之外正常工作
  • 如果我使用 AWT 玻璃面板(框架),它会绘制我的重影图像,但整个程序都是黑色的

GHOST drag and drop, over multiple windows :看到这个创建JDialog 的有趣链接,也创建了它,但我不知道如何让我的对话框不透明:WindowsUtils.setOpaque(d, false); 是我没有课,我找不到它。这是必要的,因为我需要光标上的这个 1 像素空间来聚焦我的 canvas3d。我希望任何人有任何建议我在 Google 上找不到任何对我的问题有用的东西,谢谢

最佳答案

您的工作量很大。我不是很熟悉 canvas3dcanvas2d,但正如您所说,它们似乎是重量级组件,它们往往不支持透明度。

Per-Pixel Alphering 作为私有(private) API 引入到 Java 6.10 中,并已开始在 Java 7 中公开。

您可以访问私有(private) API,但不推荐,下一个问题是,当 API 不存在时怎么办?!

public static void setOpaque(Window window, boolean opaque) {
try {
Class<?> awtUtilsClass = Class.forName("com.sun.awt.AWTUtilities");
if (awtUtilsClass != null) {
Method method = awtUtilsClass.getMethod("setWindowOpaque", Window.class, boolean.class);
method.invoke(null, window, opaque);
}
} catch (Exception exp) {
}
}

关于java - D'n'D 上的重影图像从 canvas 2d 到 canvas 3d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com