java - 如何在Java中的按钮中设置单键助记符?

标签 java swing jbutton key-bindings

我正在开发一个项目,我想在按钮上设置助记符。但问题是助记符适用于配对键示例(Alt+F)等。但我希望它在单个键上。

最佳答案

  • 看看 KeyBindings,

  • 然后您可以将任意键附加到 JButton

这里有一个示例代码可以为您提供帮助,只需按键盘上的 C 即可:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Action;

public class ButtonExample
{
    private JFrame frame;
    private JButton button;

    private void displayGUI()
    {
        frame = new JFrame("Button Mnemonic Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();      
        Action buttonAction = new ButtonAction("CLICK ME"
                                , "This is a Click Me JButton");
        button = new JButton(buttonAction);                                             
        button.getInputMap().put(KeyStroke.getKeyStroke('c'), "Click Me Button");
        button.getActionMap().put("Click Me Button", buttonAction);

        contentPane.add(button);
        frame.setContentPane(contentPane);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
    }

    class ButtonAction extends AbstractAction
    {
        public ButtonAction(String text, String desc)
        {
            super(text);
            putValue(SHORT_DESCRIPTION, desc);
        }

        @Override
        public void actionPerformed(ActionEvent ae)
        {
            JOptionPane.showMessageDialog(frame, "BINGO, you SAW me.");
        }
    }

    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new ButtonExample().displayGUI();
            }
        });
    }
}

关于java - 如何在Java中的按钮中设置单键助记符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56611701/

相关文章:

java - java中的equals方法和==操作符

java - 图形未出现在窗口中

java - 差异 fn(String... args) 与 fn(String[] args)

Java Swing 按钮组单击时清除

java - 选择时更改 JButton 的颜色,并在 JFormattedTextField 上设置掩码?

java - 在 user.home 的另一个目录中创建一个目录?

java - 代码不适用于 Swing 图像按钮

Java MouseListener MouseClicked 只能工作一次

java - 将 ImageIcon 添加到 NetBeans 中的 jbutton 时出现空指针异常

java - 整数解析 int 不起作用