У меня есть JPanel, который мне нужно проверить, чтобы элемент управления был нажат, чтобы пользователь мог выбрать несколько вещей на экране, у меня были проблемы с использованием клавишного прослушивателя, поэтому после исследования я обнаружил, что должен был использовать клавишу привязки, и я, наконец, заставил его работать для нажатия элемента управления, но я не могу заставить его работать для освобождения элемента управления '' '
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_CONTROL,
InputEvent.CTRL_DOWN_MASK), "press");
getActionMap().put("press", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
controlPressed = true;
}
});
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.CTRL_DOWN_MASK
,InputEvent.CTRL_DOWN_MASK,true), "release");
getActionMap().put("release", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("release");
controlPressed = false;
}
});
' ''
, поэтому нажатие Ctrl работает, но освобождает нет, есть идеи?