gpt4 book ai didi

Java在Windows和Mac按键检测上的差异

转载 作者:行者123 更新时间:2023-12-02 09:41:05 24 4
gpt4 key购买 nike

我有一个带有关键监听器的 JList,可以让用户轻松地从列表中删除项目。在 Windows 上,它工作得很好。您按下删除键,该项目就会被删除。在Mac上,程序不响应删除键。我正在使用 KeyEvent.VK_DELETE ,我认为这是检测特殊键的平台中立方式。我应该有其他方法来检测 Mac 上的按键吗?

    studentJList.setModel(studentListModel);  // a custom model I wrote
studentJList.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
studentListModel.remove(studentJList.getSelectedIndex());
studentJList.revalidate();
}
}

@Override
public void keyReleased(KeyEvent e) { }

@Override
public void keyTyped(KeyEvent e) { }
});

最佳答案

使用keybindings而不是关键监听器,并且所有平台上的行为都是相同的。

另请参阅KeyAdapter listener works in Windows, not on Mac ,这或多或少是相同的问题,并且解决方案也适用于您的问题。

关于Java在Windows和Mac按键检测上的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976166/

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