gpt4 book ai didi

Java KeyEvent 只是 ALT

转载 作者:行者123 更新时间:2023-11-30 03:47:32 24 4
gpt4 key购买 nike

我希望能够(在 JPanel 中 - 我使用 KeyBindings 作为箭头键和 ALT + KeyEvent.VK_lots_of_ different_keys)按 ALT(且仅 ALT)并知道何时按下,以便我可以拖动鼠标并阻止它执行按下 alt 时不应发生的其他操作。

是否有针对此问题的 KeyEvent 或解决方法? (我已经尝试了各种(4)ALT 键掩码,但那些显然不起作用)。

一些代码:

altPressed = false;

InputMap inMap = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
ActionMap actMap = getActionMap();

KeyStroke pressed = KeyStroke.getKeyStroke(KeyEvent.VK_ALT, 0, false);
KeyStroke released = KeyStroke.getKeyStroke(KeyEvent.VK_ALT, 0, true);

inMap.put(pressed, "alt" + "pressed");
inMap.put(released, "alt" + "released");

actMap.put("alt" + "pressed", new AbstractAction () {
private static final long serialVersionUID = 1L;

@Override
public void actionPerformed(ActionEvent e) {
altPressed = true;
}
});

actMap.put("alt" + "released", new AbstractAction () {
private static final long serialVersionUID = 1L;

@Override
public void actionPerformed(ActionEvent e) {
altPressed = false;
}
});

private class KeyListener implements ActionListener {//... yada yada yada ...
@Override
public void actionPerformed(ActionEvent e) {// check if keys are pressed and perform proper actions....
...
...
}

Timer timer = new Timer(100, new KeyListener());
timer.start();

最佳答案

如果您尝试检测在单击/拖动等时是否按下了 Alt 按钮。通过鼠标,您可以使用getModifiersEx() MouseEvent 的方法。 MouseEvent 对象将在 MouseInputListener 实现的每个方法中发送到您的监听器。

关于Java KeyEvent 只是 ALT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254327/

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