gpt4 book ai didi

java - 隐形窗口是贪婪的

转载 作者:行者123 更新时间:2023-11-30 06:28:58 24 4
gpt4 key购买 nike

我用过 Java 的 translucent and shaped windows为了创建一个类似于 Growl 的通知系统。基本上,屏幕右侧潜伏着一个不可见的始终在顶部的窗口,当通知进入时会添加到该窗口。它按需要工作。

但是,如果我尝试单击位于此不可见窗口边界内的另一个应用程序中的按钮(最大宽度为 400 像素),单击事件将转到我的应用程序,这很奇怪,因为它是不可见的并且什么都不做。这真的让我很困惑;我以为其他应用程序已卡住。

有没有办法允许其他应用程序“点击”我的应用程序?

我觉得这里不需要完整的 SSCCE,但这里有一段可能相关的代码:

// Set up frame: no border, etc. (undecorated); transparent.
frame.setUndecorated(true);
frame.setAlwaysOnTop(true);
frame.setResizable(false); // on Mac and maybe other platforms, even
// undecorated windows can be
// resized
AWTUtilities.setWindowOpaque(frame, false);

// Determine and set size and position.
// Height: maximized; width: maximized up to 400px.
Toolkit toolkit = Toolkit.getDefaultToolkit();
Insets insets = toolkit.getScreenInsets(frame
.getGraphicsConfiguration());
Dimension screenSize = toolkit.getScreenSize();


Dimension availableSpace = new Dimension(screenSize.width - insets.left
- insets.right, screenSize.height - insets.bottom - insets.top);

frame.setSize(new Dimension(
400 > availableSpace.width ? availableSpace.width : 400,
availableSpace.height));
frame.setLocation(screenSize.width - insets.right
- frame.getSize().width, insets.top);

// Set the content of the frame to the datum holder.
frame.setContentPane(client.createPanel());

谢谢!

最佳答案

请注意,此问题是在 Java7 - Mac 的 Oracle 发行版中引入的。对于 Java6,它在 Mac 上运行良好。它也适用于所有 Windows 平台/Java 版本。

也许他们有机会在以后的版本中解决这个问题?

关于java - 隐形窗口是贪婪的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011722/

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