2012-12-12 2 views
-1

Enter 키를 사용할 때 검색을 수행하기 위해 jTextField를 얻으려고합니다. searchButton이 검색을 수행하므로 searchButton의 액션을 트리거하기 위해 텍스트 필드에서 키 누르기 동작이 필요합니다.GUI에서 리턴 키로 검색 수행

다음은 지금 내가 가지고있는 것입니다. 입력란을 누르면 입력란에 "Enter Pressed"가 표시됩니다.

ActionListener actionListener = new ActionListener() { 
    public void actionPerformed(ActionEvent actionEvent) { 
    SearchButton.getActionForKeyStroke(
     KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, false)); 
    System.out.println("Enter Pressed"); 
    } 
}; 

KeyStroke keystroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false); 
jTextField1.registerKeyboardAction(actionListener, keystroke, JComponent.WHEN_FOCUSED); 

답변

1

텍스트 필드와 버튼 모두에 대해 동일한 ActionListener를 사용하지 않는 이유는 무엇입니까?

또는 버튼의 리스너에 대한 액세스 권한이없는 경우, 당신은이 작업을 수행 할 수 있습니다 :

jTextField1.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent actionEvent) 
    { 
    searchButton.doClick(); 
    } 
} 
+0

또는 바람직하게는'의회 처리를 정의하고 그에게 모두 버튼 및 텍스트 필드를 추가합니다. –