Возможность кликать через приложение 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);