>  기사  >  Java  >  Java에서 JButton에 단축키를 할당하는 방법은 무엇입니까?

Java에서 JButton에 단축키를 할당하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-24 02:58:02264검색

How to Assign Shortcut Keys to JButtons in Java?

Java에서 JButton에 단축키 할당

사용자 인터페이스로 작업할 때 일반적인 작업에 대한 단축키를 제공하여 개선하는 것이 편리한 경우가 많습니다. 사용자 효율성. Java Swing에서는 JButton에 단축키를 할당하여 키보드 입력으로 특정 작업을 실행할 수 있습니다.

해결책:

JButton에 단축키를 할당하려면 다음이 필요합니다. 원하는 동작을 캡슐화하는 Action을 생성합니다. 그런 다음 이 작업을 JButton 및 KeyStroke에 바인딩하여 바로 가기 키를 설정할 수 있습니다.

단계:

  1. 작업 만들기: AbstractAction을 확장하는 Action 클래스를 정의합니다. actionPerformed() 메서드 내에서 Action이 호출될 때 실행될 코드를 지정합니다.
  2. JButton에 Action 바인딩: addActionListener() 메서드를 사용하여 Action을 JButton과 연결합니다. .
  3. KeyStroke 등록: getInputMap() 및 ActionMap() 메서드를 사용하여 원하는 단축키를 Action에 매핑합니다.
  4. KeyStroke를 Action에 바인딩합니다. 입력 맵: InputMap의 put() 메소드를 사용하여 정의된 Action에 매핑될 KeyStroke를 지정합니다.

구현 예:

다음 코드 조각은 JButton에 단축키(예: "Enter")를 추가하는 방법을 보여줍니다.

<code class="java">import javax.swing.*;
import java.awt.event.*;

public class ShortcutKeyButton {

    public static void main(String[] args) {
        JButton button = new JButton("Click Me");

        // Create an Action for the button
        Action action = new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("Button clicked!");
            }
        };

        // Bind the Action to the JButton
        button.addActionListener(action);

        // Register the KeyStroke
        InputMap inputMap = button.getInputMap(JComponent.WHEN_FOCUSED);
        KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
        inputMap.put(keyStroke, "ENTER");
        button.getActionMap().put("ENTER", action);
    }
}</code>

추가 리소스:

  • Swing 튜토리얼: 액션 사용법
  • 스윙 튜토리얼: 키 바인딩 사용법

위 내용은 Java에서 JButton에 단축키를 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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