gpt4 book ai didi

Java - 如何为 JButton 应用 3 个键的键盘快捷键?

转载 作者:行者123 更新时间:2023-11-29 07:01:37 25 4
gpt4 key购买 nike

目前我正在使用“Ctrl + Space”快捷方式在我的 Java 代码中触发 JButton 事件,如下所示:

this.getRootPane().registerKeyboardAction( addStudentButtonActionListener, KeyStroke.getKeyStroke( KeyEvent.VK_SPACE, KeyEvent.CTRL_MASK ), JComponent.WHEN_IN_FOCUSED_WINDOW );

但我想为这个事件分配一个快捷键“Shift + Ctrl + Space”。我该怎么做?

最佳答案

您可以使用 KeyStroke 的字符串格式

KeyStroke.getKeyStroke("shift ctrl pressed SPACE")

例子

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

public class TestShiftCtrlSpace {

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
JFrame frame = new JFrame();
JPanel panel = (JPanel)frame.getContentPane();
InputMap im = panel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
im.put(KeyStroke.getKeyStroke("shift ctrl pressed SPACE"), "scs");
panel.getActionMap().put("scs", new AbstractAction(){
public void actionPerformed(ActionEvent e) {
System.out.println("Shift + Ctrl + Space");
}
});
frame.setSize(300, 300);
frame.setLocationByPlatform(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}

关于Java - 如何为 JButton 应用 3 个键的键盘快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25120254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com