2015-01-10 4 views
0

나는 키보드에서 Enter 키를 누르거나 아래의 프레임에서 버튼을 클릭 할 때 메시지 대화 상자를 표시하려고합니다.이 코드는 클릭하기 만하면 작동하지만 내 키를 누르면 작동하지 않습니다. . 미리 감사드립니다.자바에서 keyListener를 사용하는 방법

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(); 
    } 
} 

답변

1

KeyListener를 절대로 추가하지 마십시오. 그러나 실제로는 KeyBindings을 사용하여 ENTER를 처리하는 것이 좋습니다.

0

체크 아웃 Enter Key and Button. 버튼 이익

  • 수동으로 자신의 키 바인딩 를 추가 초점으로 버튼 프레임의 기본 버튼을

    1. /
    2. 동적 기본 단추 변경 대화 : 그것은 몇 가지 아이디어를 탐구
    관련 문제