«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как назначить сочетания клавиш кнопкам в Java?

Как назначить сочетания клавиш кнопкам в Java?

Опубликовано 3 ноября 2024 г.
Просматривать:500

How Can I Assign Keyboard Shortcuts to Buttons in Java?

Как привязать сочетание клавиш к JButton в Java

В Java вы можете назначить сочетания клавиш кнопкам (например, нажатие кнопки Клавиша «Удалить» вызывает нажатие кнопки) путем реализации действия, привязки его к нажатию клавиши, а затем связывания действия с кнопкой.

Для этого выполните следующие действия:

  1. Создайте класс Action, который определяет поведение при нажатии сочетания клавиш, обычно с использованием анонимного внутреннего класса.
  2. Зарегистрируйте действие для кнопки, используя вызов button.addActionListener().
  3. Сопоставьте сочетание клавиш с действием с помощью InputMap и ActionMap, как показано:

    • getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) извлекает карту ввода для событий клавиатуры, когда панель кнопок находится в фокусе.
    • put(KeyStroke, Object) связывает нужную клавишу с действием.
    • getActionMap().put(Object, Action) связывает действие с сопоставленной клавишей.

Вот пример фрагмента кода, который реализует эти шаги:

public class CalculatorPanel extends JPanel {
    // ... (code removed for brevity)

    for (int i = 0; i 

Этот код определяет действие, которое при запуске вставляет значение нажатия клавиши в текстовое поле. Когда кнопки созданы, они сопоставляются с соответствующими клавишами как на основной, так и на цифровой клавиатуре. В результате нажатие соответствующих клавиш (например, «1» или «NUMPAD 1») активирует соответствующую кнопку.

Заявление о выпуске Эта статья перепечатана по адресу: 1729684384. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3