Get key combination code


Question

I want to ask you can I get key code combination of multiple keys. For example I can get the key code from this example:

        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.TAB) { 
        }

But how I can get the key code of this example:

textField.setText("");
                // Process only desired key types
                if (event.getCode().isLetterKey()
                        || event.getCode().isDigitKey()
                        || event.getCode().isFunctionKey()) {
                    String shortcut = event.getCode().getName();
                    if (event.isAltDown()) {
                        shortcut = "Alt + " + shortcut;
                    }
                    if (event.isControlDown()) {
                        shortcut = "Ctrl + " + shortcut;
                    }
                    if (event.isShiftDown()) {
                        shortcut = "Shift + " + shortcut;
                    }
                    textField.setText(shortcut);
                    shortcutKeyEvent = event;
                } else {
                    shortcutKeyEvent = null;
                }

Is it possible to get the key code combination of these keys Ctrl + Tab or Ctrl + A?

1
6
9/25/2013 10:10:05 AM

No, the handled keyEvent has only one main KeyCode, for example this code

public void handle(KeyEvent event) {
    if (event.getCode() == KeyCode.TAB) { 
    }
}

will handle TAB, ALT + TAB, or CTRL + TAB etc. If you only interested in CTRL + TAB, you have 2 choices:
1) using isControlDown()

public void handle(KeyEvent event) {
    if (event.getCode() == KeyCode.TAB && event.isControlDown()) { 
    }
}

2) using KeyCodeCombination

final KeyCombination kb = new KeyCodeCombination(KeyCode.TAB, KeyCombination.CONTROL_DOWN);
...
...
public void handle(KeyEvent event) {
    if (kb.match(event)) { 
    }
}
16
9/28/2013 12:30:26 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon