Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons di Java?

Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons di Java?

DDD
DDDasal
2024-10-24 02:58:02264semak imbas

How to Assign Shortcut Keys to JButtons in Java?

Menetapkan Kekunci Pintasan kepada JButtons dalam Java

Apabila bekerja dengan antara muka pengguna, selalunya mudah untuk menyediakan kekunci pintasan untuk tindakan biasa untuk menambah baik kecekapan pengguna. Dalam Java Swing, anda boleh menetapkan kekunci pintasan kepada JButtons untuk mencetuskan tindakan tertentu dengan input papan kekunci.

Penyelesaian:

Untuk menetapkan kekunci pintasan kepada JButton, anda perlu untuk mencipta Tindakan yang merangkumi tingkah laku yang diingini. Tindakan ini kemudiannya boleh diikat pada JButton dan KeyStroke untuk mewujudkan kekunci pintasan.

Langkah:

  1. Buat Tindakan: Tentukan kelas Tindakan yang memanjangkan AbstractAction. Dalam kaedah actionPerformed(), nyatakan kod yang akan dilaksanakan apabila Tindakan digunakan.
  2. Ikat Tindakan pada JButton: Kaitkan Tindakan dengan JButton menggunakan kaedah addActionListener() .
  3. Daftar KeyStroke: Petakan kekunci pintasan yang diingini ke Action menggunakan kaedah getInputMap() dan ActionMap().
  4. Ikat KeyStroke pada Peta Input: Menggunakan kaedah put() InputMap, nyatakan KeyStroke untuk dipetakan kepada Tindakan yang ditentukan.

Contoh Pelaksanaan:

Coretan kod berikut menunjukkan cara menambah kekunci pintasan (cth., "Enter") pada JButton:

<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>

Sumber Tambahan:

  • Swing Tutorial: Cara Menggunakan Tindakan
  • Tutorial Ayunan: Cara Menggunakan Pengikatan Kunci

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn