如何在java中使用keyListener

时间:2015-01-10 10:23:20

标签: java keyboard-events

每一个我想要按下键盘上的回车键或点击下面框架上的按钮显示一个消息对话框是我的代码,它适用于点击而不是按键,请帮我完成这项工作。提前致谢

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Key extends JFrame implements ActionListener,KeyListener
{
    JTextField t1;
    JButton b1;
    Key()
    { 
       Container c=getContentPane();
       c.setLayout(new GridLayout(2,1));
       t1=new JTextField();
       b1=new JButton("Click");
       c.add(t1);
       c.add(b1);
       setVisible(true);
       setSize(200,200);
       b1.addActionListener(this);
       setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   }
   public void actionPerformed(ActionEvent ae)
   {
       if(ae.getSource()==b1)
           JOptionPane.showMessageDialog(this,"Message:"+t1.getText());
   }
   public void keyReleased(KeyEvent ke)
   {
   }
   public void keyPressed(KeyEvent e)
   {
      int key = e.getKeyCode();

      if (key == KeyEvent.VK_ENTER) {
        JOptionPane.showMessageDialog(this,"Message:"+t1.getText());
       }
    }
   public void keyTyped(KeyEvent ke)
   {
   }
   public static void main(String args[])
   {
    new Key();
   }
 }

2 个答案:

答案 0 :(得分:1)

您永远不会添加KeyListener。但实际上最好使用KeyBindings来处理ENTER。

答案 1 :(得分:0)

结帐Enter Key and Button。它探讨了一些想法:

  1. 使按钮成为框架/对话框的默认按钮
  2. 在按钮获得焦点时动态更改默认按钮
  3. 手动添加您自己的密钥绑定