Как связать нажатие клавиши на клавиатуре с JButton? - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день, какой нужно использовать метод для "нажатия" кнопки в программе, после нажатия клавиши на клавиатуре?

Решение задачи: «Как связать нажатие клавиши на клавиатуре с JButton?»

textual
Листинг программы
  1. package forumbutton;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.KeyAdapter;
  6. import java.awt.event.KeyEvent;
  7. import java.awt.event.KeyListener;
  8. import javax.swing.JButton;
  9. import javax.swing.JFrame;
  10.  
  11. public class ForumButton extends JFrame {
  12.  
  13.     int count = 0;
  14.  
  15.     ForumButton() {
  16.         final JButton but = new JButton("Меня нажали 0 раз(а)");
  17.  
  18.         but.addActionListener(new ActionListener() {
  19.             @Override
  20.             public void actionPerformed(ActionEvent e) {
  21.                 count++;
  22.                 but.setText("Меня нажали " + count + " раз(а)");
  23.             }
  24.         });
  25.  
  26.         this.setVisible(true);
  27.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.  
  29.  
  30.         KeyListener kl = new KeyAdapter() {
  31.             @Override
  32.             public void keyTyped(KeyEvent e) {
  33.                 but.doClick();
  34.             }
  35.         };
  36.  
  37.         but.addKeyListener(kl);
  38.         this.addKeyListener(kl);
  39.  
  40.         this.add(but);
  41.  
  42.         this.pack();
  43.     }
  44.  
  45.     public static void main(String[] args) {
  46.         new ForumButton();
  47.     }
  48. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы