Rumah >Java >javaTutorial >Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons dalam Java Menggunakan Input Papan Kekunci?

Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons dalam Java Menggunakan Input Papan Kekunci?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 04:53:30588semak imbas

How to Assign Shortcut Keys to JButtons in Java Using Keyboard Input?

Cara Menetapkan Kekunci Pintasan kepada JButtons dalam Java

Menetapkan kekunci pintasan kepada JButtons membolehkan pengguna mencetuskan tindakan butang melalui penekanan papan kekunci, meningkatkan pengalaman dan kecekapan pengguna.

Penyelesaian:

Untuk menambah kekunci pintasan pada JButton, anda perlu melakukan langkah berikut:

  1. Buat objek Action yang mentakrifkan tindakan yang dikaitkan dengan kekunci pintasan.
  2. Daftar Tindakan sebagai KeyStroke pendengar untuk JButton menggunakan getInputMap() dan getActionMap( ).
  3. Ikat KeyStroke pada Action menggunakan put(KeyStroke, Action).

Contoh:

Pertimbangkan coretan kod berikut :

<code class="java">// Create an Action for the button
Action action = new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // Perform the button's action
    }
};

// Register the Action as a KeyStroke listener
button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete");
button.getActionMap().put("delete", action);</code>

Dalam contoh ini, Tindakan dicetuskan apabila kekunci Padam ditekan semasa butang mempunyai fokus.

Sumber Tambahan:

  • [Tutorial Ayunan: Cara Menggunakan Tindakan](https://docs.oracle.com/javase/tutorial/uiswing/misc/actionlistener.html)
  • [Tutorial Ayunan: Cara Menggunakan Kunci Bindings](https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html)

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Kekunci Pintasan kepada JButtons dalam Java Menggunakan Input Papan Kekunci?. 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