2013-08-23 3 views
0

JTable의 기본 동작은 Tab 또는 Enter를 눌러 다음 편집 가능한 셀로 이동하는 것입니다. 하지만 내가 원하는 것은 Enter 키를 누를 때 다음 셀로 이동하는 대신 셀을 편집해야합니다. 이것을 구현하는 방법, 미리 감사드립니다.Enter 키를 누를 때 셀을 편집 모드로 변경

답변

1

스윙은 키 바인딩을 사용하도록 설계되었습니다 (How to Use Key Bindings의 스윙 튜토리얼 참조). 즉, KeyStroke에 액션을 바인딩합니다. 기본적으로

다음 Enter 키가 F2 키를 편집 모드에서 셀을 배치합니다

  • 다음 행으로 셀 선택을 이동합니다

    당신은 기본을 대체 할 Enter 키와 F2 키의 동작. 이것은 쉽게 키 바인딩을 사용하여 수행됩니다 :

    InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); 
    KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0); 
    KeyStroke f2 = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0); 
    im.put(enter, im.get(f2)); 
    

    는 또한 모든 스윙 구성 요소에 대한 기본 바인딩의 목록 Key Bindings을 확인하십시오.

  • 관련 문제