این آموزش به شما یاد خواهد داد که چگونه یک برنامه در جاوا با KeyPress یا KeyStroke ایجاد کنید. بنابراین، بیایید این آموزش را شروع کنیم! 1. JCreator یا NetBeans را باز کنید و یک برنامه جاوا با نام keyStroke.java بسازید. 2. کتابخانه بستههای زیر را وارد کنید:
import java.awt.event.*; // برای دسترسی به کلاس ActionEvent
import javax.swing.*; // برای دسترسی به کلاسهای AbstractAction، Action، ActionMap، InputMap، JButton، JComponent، JFrame و KeyStroke
3. متغیرهای frame به عنوان JFrame، button به عنوان JButton و ACTION_KEY به عنوان رشته را در Main ابتدایی کد ایجاد کنید.
String ACTION_KEY = "theAction";
JFrame frame = new JFrame("KeyStroke Sample");
JButton button = new JButton("Press the SpaceBar");
4. یک ActionEvent برای دکمهتان ایجاد کرده و پیام "دکمه فضای خالی فشرده شده است!" را چاپ کنید. کد زیر را داشته باشید:
Action actionListener = new AbstractAction() {
public void actionPerformed(ActionEvent actionEvent) {
JButton source = (JButton) actionEvent.getSource();
System.out.println("دکمه فضای خالی فشرده شده است!");
}
};
5. برای استفاده از کلید فضای خالی از کلاس KeyStroke با کلاس getKeyStroke استفاده کنید.
KeyStroke space = KeyStroke.getKeyStroke(' ');
برای اعمال یک عمل روی دکمه هنگام فشردن کلید فضای خالی، کد زیر را داشته باشید:
InputMap inputMap = button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
inputMap.put(space, ACTION_KEY);
ActionMap actionMap = button.getActionMap();
actionMap.put(ACTION_KEY, actionListener);
button.setActionMap(actionMap);
6. در نهایت، دکمه را اضافه کنید، اندازه و قابلیت دیدن را تنظیم کنید و عملیات بسته شدن آن را تعیین کنید. کد زیر را داشته باشید:
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
frame.setVisible(true);
خروجی: output کد کامل این آموزش:
import java.awt.event.*; // برای دسترسی به کلاس ActionEvent
import javax.swing.*; // برای دسترسی به کلاسهای AbstractAction، Action، ActionMap، InputMap، JButton، JComponent، JFrame و KeyStroke
public class keyStroke {
public static void main(String[] a) {
String ACTION_KEY = "theAction";
JFrame frame = new JFrame("KeyStroke Sample");
JButton button = new JButton("Press the SpaceBar");
Action actionListener = new AbstractAction() {
public void actionPerformed(ActionEvent actionEvent) {
JButton source = (JButton) actionEvent.getSource();
System.out.println("دکمه فضای خالی فشرده شده است!");
}
};
KeyStroke space = KeyStroke.getKeyStroke(' ');
InputMap inputMap = button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
inputMap.put(space, ACTION_KEY);
ActionMap actionMap = button.getActionMap();
actionMap.put(ACTION_KEY, actionListener);
button.setActionMap(actionMap);
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
frame.setVisible(true);