Для MouseEvent вы можете просто вызвать getModifiers () , чтобы получить маску клавиш-модификаторов (shift / control / alt и т. Д.), Которые нажимаются.
В общем случае использовать переменную, чтобы связать их вместе?
Ваш обработчик ключей устанавливает / очищает переменную, когда он регистрирует нажатие клавиши, ваш обработчик мыши проверяет эту переменную.
Если вам нужно еще больше разобраться с ними, просто создайте экземпляр, к которому обращаются и ваш ключевой слушатель, и Mouselistener.
public class Pressedkeys {
private boolean shiftPressed = false;
private boolean controlPressed = false;
public void setShiftPressed(boolean pressed) {
this.shiftPressed = pressed;
}
public void setControlPressed (boolean pressed) {
this.shiftPressed = pressed;
}
public boolean isControlPresed() {
return controlPressed ;
}
...
}
Pressedkeys k = new PressedKeys();
MyMouseThing t = new MyMouseThing(k);
//your mousething mouse handler would check k.isControlPressed();
MyKeyboardThing t = new MyKeyboardThing (k);
//your KeyBoardThing - which has a key handler would set k.setControlPressed(..);