Запустите действие, например, вы запустили приложение: например: у вас есть приложение с домашним экраном и экраном пользовательской информации: если вы нажмете кнопку пользовательской информации, вы начинаете с этой информацией активность пользователя.
Запустите действие и ожидайте чего-то взамен. Например, на экране пользовательской информации вы можете загрузить изображение профиля. Вы начинаете действие галереи с явной целью вернуть URI с предпочтительным изображением. Вы запускаете эту операцию буквально, чтобы получить результат (рисунок. Есть некоторые технические способы убедиться, что вы действительно получили результат, но они совершенно понятны в руководстве.
Взгляните на Java KeyListener для JFrame не отвечает? .
Вам нужно зарегистрировать свои KeyListener
и MouseListener
для каждого JComponent
, который вы хотите прослушивание:
public Hello() {
addKeyListener(this);
addMouseListener(this);
panel.addKeyListener(this);
panel.addMouseListener(this);
frame.addKeyListener(this);
frame.addMouseListener(this);
}
Редактирование: события клавиш и мыши запускаются только с JComponent
с фокусом в то время. Из-за этого, похоже, существует консенсус в отношении того, что KeyBindings может быть благоприятным для KeyListeners. Однако у них есть свои приложения, и поэтому здесь нет жесткого и быстрого правила. Прочитайте « Как написать прослушиватель клавиш » и « Как написать привязку клавиш », и вы получите суть.
Попробуйте это вместо:
panel.addKeyListener(this);
panel.addMouseListener(this);
Вы должны добавить слушателей к каждому компоненту, который хотите прослушать.
Лучше избегать использования KeyListeners
с JPanel
, вместо этого используйте KeyBindings . JPanel
не может получить фокус, поэтому он не может взаимодействовать с KeyEvents
. Используя KeyBindings
, вы можете сопоставить действие с KeyStroke, даже если компонент не имеет фокуса.
JComponent
, который будет запускать события, - это тот, у кого естьfocus
в то время. Как записать прослушиватель клавиш и Как записать привязку клавиш разбить различия между ними; которые очень тонкие, но заслуживающие внимания, прежде чем писать код, вы будете пахать позже. – Sean Connolly 29 December 2012 в 23:00