java - 可读的击键

标签 java swing keystroke

除了手动解析外,Java 是否有任何默认方式将 KeyStroke 转换为可读的 String

KeyStroke ke = KeyStroke.getKeyStroke("ctrl released 1");
System.out.println(ke.toString())

Print result:
ctrl released 1

Expected:
Ctrl+1

最佳答案

来自 Java Swing API:

KeyStroke accelerator =  b.getAccelerator();
String acceleratorText = "";
if (accelerator != null) {
    int modifiers = accelerator.getModifiers();
    if (modifiers > 0) {
        acceleratorText = KeyEvent.getKeyModifiersText(modifiers);
        acceleratorText += "+";
    }
    acceleratorText += KeyEvent.getKeyText(accelerator.getKeyCode());
}

@mKorbel,你说它不是默认值的一部分是错误的和毫无根据的

关于java - 可读的击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151177/

相关文章:

assembly - 如何在不等待的情况下读取 key ,汇编 8086

java - 使用 System.setProperty 在 NetBeans 平台应用程序中创建嵌入式 Jetty 端点时出现问题

java - 使用多个 View 填充 JList

java - 将数据库中的值设置为用枚举填充的 Jcombobox

objective-c - 如何在 Objective-C 中将击键发送到另一个进程

linux - Xdotool 在 Raspberry Pi 上失败

java - 放心 jsonpath findAll 没有按预期工作

java - JPanels 文本字段 GBC

java - 当我尝试删除多个选定的行时;只有少数被删除,并非全部

java - 在卡片布局中定位组件