У меня есть кнопка в приложении Java Swing для увеличения выделения. Я реализовал 3 способа нажатия на него:
- щелчок: увеличивает выделение с пошаговой анимацией
- option-click: делает один шаг масштабирования к выделению
- Command-щелчок: внезапное увеличение до полного выбора
Я хотел бы реализовать обратное поведение (т.е. масштабировать от выделение наружу до полного уменьшения), когда дополнительно удерживается клавиша Shift, так что это будет так:
- Shift-щелчок: полное уменьшение масштаба с пошаговой анимацией
- Shift-option-щелчок: делает один шаг масштабирования от выделения
- Shift-Command-щелчок: внезапное увеличение до полного уменьшения
Я знаю, как делать все, кроме Shift-Option-Click и Shift-Command-Click. Например. Вот как я делаю одношаговое увеличение:
int stepMask = InputEvent.ALT_MASK;
if((e.getModifiers() & InputEvent.ALT_MASK) == stepMask) {
//do the single-step zoom
}
Но я не могу понять, как сделать комбинацию клавиш одним щелчком мыши. Все, что я пробовал, работает только с одной клавишей-модификатором. Как определить комбинацию клавиш при нажатии кнопки?