Возможность кликать через приложение Java

У меня есть простая программа, которая atm отображает прозрачное окно с изображением на нем, которое всегда поверх других окон. Можно ли направить ввод через мое приложение, чтобы я мог нажимать на программы под ним?

Например, окно поверх фона рабочего стола, и я хочу иметь возможность нажимать на значки вместо моего "приложения наложения".

Благодарю.

3 ответа

Использование JNA WindowUtils выполняет этот эффект в Windows 7 (другие системы не тестировались):

JFrame frame = new JFrame();
//...
frame.setAlwaysOnTop(true);
System.setProperty("sun.java2d.noddraw", "true");
WindowUtils.setWindowTransparent(frame, true);
WindowUtils.setWindowAlpha(frame, 0.6f);

Благодаря комментарию Нейта о setAlwaysOnTop для того, чтобы сделать это более жизнеспособным вариантом.

Я не думаю, что вы можете сделать это легко, потому что после того, как ваша ОС отправила щелчок мышью в приложение Java, вы не можете отправить его снова, чтобы активировать все, что находится под приложением Java.

Вы можете сделать это легко, если все внутри одного Java-приложения, но не в отдельных средах.

Вы можете нажать через JFrame с этим кодом...

AWTUtilities.setWindowOpaque(this, false);
AWTUtilities.setWindowOpacity(this, 0.8f);
Другие вопросы по тегам