> Java > java지도 시간 > 본문

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

DDD
풀어 주다: 2024-10-24 02:58:02
원래의
263명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!