С этими мерами, пароли Вашего пользователя будут довольно хорошо защищены от:
Вы можете получить все события и проверить, является ли их источник компонентом в JFrame.
Есть невидимый компонент, который перекрывает весь графический интерфейс, «стеклянную панель». Вы можете прикрепить к этому своих слушателей. Пример:
JFrame frame = new JFrame();
Component glassPane = frame.getGlassPane();
glassPane.addMouseListener(myListener);
Если вы хотите, чтобы ваши перехваченные события передавались в базовые компоненты, вы можете повторно отправить их. Например:
public void mouseMoved(MouseEvent e) {
redispatchMouseEvent(e, false);
}
Потому что содержимое (вероятно, JPanel) «затеняет» и поглощает события и не достигает JFrame.
Что вы можете сделать, так это добавить одного и того же слушателя для всех детей. Хотя должен быть способ получше.
Альтернативой AWTEventListener
является отправка EventQueue
. Это имеет то преимущество, что это могут делать апплеты и приложение WebStart.