>  기사  >  Java  >  Java의 버튼에 키보드 단축키를 어떻게 할당할 수 있습니까?

Java의 버튼에 키보드 단축키를 어떻게 할당할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 04:09:021027검색

How Can I Assign Keyboard Shortcuts to Buttons in Java?

Java에서 JButton에 단축키를 바인딩하는 방법

Java에서는 버튼에 단축키를 할당할 수 있습니다(예: "삭제" 키는 작업을 구현하고 이를 KeyStroke에 바인딩한 다음 작업을 버튼과 연결하여 버튼 클릭을 트리거합니다.

이렇게 하려면 다음 단계를 따르세요.

  1. 단축 키를 눌렀을 때의 동작을 정의하는 Action 클래스를 생성합니다. 일반적으로 익명의 내부 클래스를 사용합니다.
  2. button.addActionListener() 호출을 사용하여 버튼에 Action을 등록합니다.
  3. 다음과 같이 InputMap 및 ActionMap을 사용하여 Action에 단축키를 매핑합니다.

    • getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)는 버튼 패널에 포커스가 있을 때 키보드 이벤트에 대한 입력 맵을 검색합니다.
    • put(KeyStroke, Object)는 원하는 키를 작업과 연결합니다.
    • getActionMap().put(Object, Action)은 작업을 매핑된 키와 연결합니다.

다음은 이러한 단계를 구현하는 예제 코드 조각입니다.

<code class="java">public class CalculatorPanel extends JPanel {
    // ... (code removed for brevity)

    for (int i = 0; i < 10; i++) {
        String text = String.valueOf(i);
        JButton button = new JButton(text);
        // ... (code removed for brevity)

        InputMap inputMap = buttonPanel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
        inputMap.put(KeyStroke.getKeyStroke(text), text);
        inputMap.put(KeyStroke.getKeyStroke("NUMPAD" + text), text);
        buttonPanel.getActionMap().put(text, numberAction);
    }
}</code>

이 코드는 트리거될 때 키 입력 값을 텍스트 필드에 삽입하는 작업을 정의합니다. 버튼이 생성되면 기본 키패드와 숫자 키패드 모두의 해당 키에 매핑됩니다. 결과적으로 해당 키(예: "1" 또는 "NUMPAD 1")를 누르면 관련 버튼이 활성화됩니다.

위 내용은 Java의 버튼에 키보드 단축키를 어떻게 할당할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.