2013-10-29 30 views
1

我想要當用戶按下鍵盤上的enter按鈕時,程序應該像點擊ok按鈕時的功能。JFrame上的keyListener沒有反應

我的代碼:

public class T3 extends JFrame implements ActionListener { 

JButton okBtn; 

public T3() { 
    this.setFocusable(true); 
    this.addKeyListener(new KeyListener() { 
     @Override 
     public void keyTyped(KeyEvent e) { 
      // if enter button is pressed in keyboard, then show "Enter Button pressed" message 
     } 

     @Override 
     public void keyPressed(KeyEvent e) { 
      // if enter button is pressed in keyboard, then show "Enter Button pressed" message 
     } 

     @Override 
     public void keyReleased(KeyEvent e) { 
      //To change body of implemented methods use File | Settings | File Templates. 
     } 
    }); 
    add(createForm(), BorderLayout.NORTH); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setSize(400, 500); 
    setVisible(true); 
} 

public static void main(String[] args) { 
    SwingUtilities.invokeLater(new Runnable() { 
     @Override 
     public void run() { 
      new T3(); 
     } 
    }); 
} 

public JPanel createForm() { 
    JPanel panel = new JPanel(); 
    okBtn = new JButton("Ok"); 
    okBtn.addActionListener(this); 
    panel.add(okBtn); 
    return panel; 
} 

@Override 
public void actionPerformed(ActionEvent e) { 
    if (e.getSource() == okBtn) { 
     System.out.println("Enter Button pressed"); 
    } 
} 
} 

現在,還沒有反應過來!

+0

看看到[鍵綁定] [爪哇(http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) – nachokk

+0

可能重複JFrame的KeyListener沒有響應?](http://stackoverflow.com/questions/286727/java-keylistener-for-jframe-is-being-unresponsive) –

回答