private void createEditorNode() { EventHandler<KeyEvent> keyEventsHandler = t -> { if (t.getCode() == KeyCode.ENTER) { commitHelper(false); } else if (t.getCode() == KeyCode.ESCAPE) { cancelEdit(); } else if (t.getCode() == KeyCode.TAB) { commitHelper(false); editNext(!t.isShiftDown()); } }; ChangeListener<Boolean> focusChangeListener = (observable, oldValue, newValue) -> { //This focus listener fires at the end of cell editing when focus is lost //and when enter is pressed (because that causes the text field to lose focus). //The problem is that if enter is pressed then cancelEdit is called before this //listener runs and therefore the text field has been cleaned up. If the //text field is null we don't commit the edit. This has the useful side effect //of stopping the double commit. if (editorNode != null && !newValue) { commitHelper(true); } }; editorNode = builder.createNode(getValue(), keyEventsHandler, focusChangeListener); }
if (event.isShiftDown()) { getBehavior().traverse(getSkinnable(), Direction.PREVIOUS); } else {
private boolean isModifierCorrect(KeyEvent t, KeyCode keyCode) { return (keyCode != KeyCode.ALT ^ t.isAltDown()) && (keyCode != KeyCode.CONTROL ^ t.isControlDown()) && (keyCode != KeyCode.SHIFT ^ t.isShiftDown()) && (keyCode != KeyCode.META ^ t.isMetaDown()); }
private static boolean hasModifierPressed(KeyEvent event) { return event.isAltDown() || event.isControlDown() || event.isMetaDown() || event.isShiftDown(); }
private static int getStateMask(KeyEvent event) { int rv = 0; if (event.isAltDown()) { rv |= FxKeyLookup.ALT; } if (event.isControlDown()) { rv |= FxKeyLookup.CTRL; } if (event.isShiftDown()) { rv |= FxKeyLookup.SHIFT; } if (event.isMetaDown()) { rv |= FxKeyLookup.COMMAND; } return rv; }
@Override protected void remapKeys(T control) { control.addEventFilter(KeyEvent.ANY, (KeyEvent event) -> { if (event.getCode() == KeyCode.ENTER && !event.isControlDown() && !event.isAltDown() && !event.isMetaDown() && event.getEventType() == KeyEvent.KEY_PRESSED) { if (event.isShiftDown()) { focusPrevious(control); } else { focusNext(control); } } }); }
protected void fxKeyEvent(javafx.scene.input.KeyEvent fxEvent) { int action = 0; EventType<? extends KeyEvent> et = fxEvent.getEventType(); if (et == KeyEvent.KEY_PRESSED) { action = processing.event.KeyEvent.PRESS; } else if (et == KeyEvent.KEY_RELEASED) { action = processing.event.KeyEvent.RELEASE; } else if (et == KeyEvent.KEY_TYPED) { action = processing.event.KeyEvent.TYPE; } int modifiers = 0; if (fxEvent.isShiftDown()) { modifiers |= processing.event.Event.SHIFT; } if (fxEvent.isControlDown()) { modifiers |= processing.event.Event.CTRL; } if (fxEvent.isMetaDown()) { modifiers |= processing.event.Event.META; } if (fxEvent.isAltDown()) { modifiers |= processing.event.Event.ALT; } long when = System.currentTimeMillis(); char keyChar = getKeyChar(fxEvent); int keyCode = getKeyCode(fxEvent); sketch.postEvent(new processing.event.KeyEvent(fxEvent, when, action, modifiers, keyChar, keyCode)); }
/** * The event * * @param source * the source * @param target * the target * @param event * the key */ public VerifyEvent(Object source, EventTarget target, KeyEvent event) { super(source, target, VERIFY); boolean isKeyTyped = event.getEventType() == KeyEvent.KEY_TYPED; this.character = isKeyTyped ? event.getCharacter() : KeyEvent.CHAR_UNDEFINED; this.text = isKeyTyped ? "" : event.getText(); //$NON-NLS-1$ this.code = isKeyTyped ? KeyCode.UNDEFINED : event.getCode(); this.shiftDown = event.isShiftDown(); this.controlDown = event.isControlDown(); this.altDown = event.isAltDown(); this.metaDown = event.isMetaDown(); }
/** * The event * * @param source * the source * @param target * the target * @param event * the key */ public VerifyEvent(Object source, EventTarget target, KeyEvent event) { super(source, target, VERIFY); boolean isKeyTyped = event.getEventType() == KeyEvent.KEY_TYPED; this.character = isKeyTyped ? event.getCharacter() : KeyEvent.CHAR_UNDEFINED; this.text = isKeyTyped ? "" : event.getText(); //$NON-NLS-1$ this.code = isKeyTyped ? KeyCode.UNDEFINED : event.getCode(); this.shiftDown = event.isShiftDown(); this.controlDown = event.isControlDown(); this.altDown = event.isAltDown(); this.metaDown = event.isMetaDown(); }
private void handleKeyEvent(javafx.scene.input.KeyEvent event) { if (event.isAltDown()) { double r = event.isShiftDown() ? 1 : -1; switch (event.getCode()) { case X: composeRotation(r, Vector3D.PLUS_I, rxy); break; case Y: composeRotation(r, Vector3D.PLUS_J, rxy); break; case Z: rz.setAngle(rz.getAngle() + r); break; } } else { double tinc = event.isShiftDown() ? 10 : -10; switch (event.getCode()) { case X: t.setX(t.getX() + tinc); break; case Y: t.setY(t.getY() + tinc); break; case Z: t.setZ(t.getZ() + tinc); break; } } }
@Override public void handle(KeyEvent event) { double change = cameraQuantity; //Add shift modifier to simulate running speed if (event.isShiftDown()) change = cameraModifier; KeyCode keyCode = event.getCode(); if (keyCode == KeyCode.W) cameraNode.setTranslateX(cameraNode.getTranslateX() + change); if (keyCode == KeyCode.S) cameraNode.setTranslateX(cameraNode.getTranslateX() - change); if (keyCode == KeyCode.D) cameraNode.setTranslateY(cameraNode.getTranslateY() + change); if (keyCode == KeyCode.A) cameraNode.setTranslateY(cameraNode.getTranslateY() - change); } }
@Override public void handle(KeyEvent event) { double change = cameraQuantity; //Add shift modifier to simulate running speed if (event.isShiftDown()) change = cameraModifier; KeyCode keyCode = event.getCode(); if (keyCode == KeyCode.W) cameraNode.setTranslateX(cameraNode.getTranslateX() + change); if (keyCode == KeyCode.S) cameraNode.setTranslateX(cameraNode.getTranslateX() - change); if (keyCode == KeyCode.D) cameraNode.setTranslateY(cameraNode.getTranslateY() + change); if (keyCode == KeyCode.A) cameraNode.setTranslateY(cameraNode.getTranslateY() - change); } }
/** * Filters certain keys for special features. * * @param control the fx control */ public void filterKeys(Control control) { if (control instanceof FxComponent) { control.addEventFilter(KeyEvent.ANY, event -> { if (event.getCode() == KeyCode.Z && event.isControlDown() && !event.isAltDown() && !event.isMetaDown() && !event.isShiftDown()) { FxComponent comp = (FxComponent) control; if (comp.isViewModified()) { if (event.getEventType() == KeyEvent.KEY_PRESSED) { // Ctrl-Z pressed and old view value saved: restore it! comp.setViewObject(comp.getSavedViewObject()); } event.consume(); } } }); } }
private void createEditorNode() { EventHandler<KeyEvent> keyEventsHandler = t -> { if (t.getCode() == KeyCode.ENTER) { commitHelper(false); } else if (t.getCode() == KeyCode.ESCAPE) { cancelEdit(); } else if (t.getCode() == KeyCode.TAB) { commitHelper(false); editNext(!t.isShiftDown()); } }; ChangeListener<Boolean> focusChangeListener = (observable, oldValue, newValue) -> { //This focus listener fires at the end of cell editing when focus is lost //and when enter is pressed (because that causes the text field to lose focus). //The problem is that if enter is pressed then cancelEdit is called before this //listener runs and therefore the text field has been cleaned up. If the //text field is null we don't commit the edit. This has the useful side effect //of stopping the double commit. if (editorNode != null && !newValue) { commitHelper(true); } }; editorNode = builder.createNode(getValue(), keyEventsHandler, focusChangeListener); }
@Override public void handle(KeyEvent event) { if (KeyCode.TAB.equals(event.getCode())) { if (lowThumb.isFocused()) { if (event.isShiftDown()) { lowThumb.setFocus(false); new ParentTraversalEngine( rangeSlider.getScene().getRoot(), algorithm) .select(lowThumb, Direction.PREVIOUS) .requestFocus(); } else { lowThumb.setFocus(false); highThumb.setFocus(true); } event.consume(); } else if (highThumb.isFocused()) { if(event.isShiftDown()) { highThumb.setFocus(false); lowThumb.setFocus(true); } else { highThumb.setFocus(false); new ParentTraversalEngine( rangeSlider.getScene().getRoot(), algorithm) .select(highThumb, Direction.NEXT) .requestFocus(); } event.consume(); } } } };
@Override public void configure(T control) { super.configure(control); // first keystroke triggers check for modification control.textProperty().addListener(o -> ((FxComponent) control).triggerViewModified()); // Shift-Backspace clears the field control.addEventFilter(KeyEvent.ANY, (KeyEvent event) -> { if (event.getCode() == KeyCode.BACK_SPACE && event.isShiftDown() && !event.isControlDown() && !event.isAltDown() && !event.isMetaDown()) { if (event.getEventType() == KeyEvent.KEY_PRESSED && !control.isDisabled() && control.isEditable()) { control.clear(); } event.consume(); } }); }
@Override protected void remapKeys(T control) { control.addEventFilter(KeyEvent.ANY, (KeyEvent event) -> { if ((event.getCode() == KeyCode.TAB || event.getCode() == KeyCode.ENTER) && !event.isAltDown() && !event.isMetaDown()) { if (event.getEventType() == KeyEvent.KEY_PRESSED) { if (event.isControlDown()) { control.insertText(control.getCaretPosition(), event.getCode() == KeyCode.TAB ? "\t" : "\n"); } else { if (event.isShiftDown()) { focusPrevious(control); } else { focusNext(control); } } } event.consume(); } }); }
@Override public void configure(T control) { super.configure(control); // first keystroke triggers check for modification control.getEditor().textProperty().addListener(o -> ((FxComponent) control).triggerViewModified()); // Shift-Backspace clears the field control.addEventFilter(KeyEvent.ANY, (KeyEvent event) -> { if (event.getCode() == KeyCode.BACK_SPACE && event.isShiftDown() && !event.isControlDown() && !event.isAltDown() && !event.isMetaDown()) { if (event.getEventType() == KeyEvent.KEY_PRESSED && !control.getEditor().isDisabled() && control.getEditor().isEditable()) { control.getEditor().clear(); } event.consume(); } }); }
translationCalculator.setFastModifierPredicate(event -> event.isShiftDown()); translationCalculator.setCameraOrientation(cameraOrientation); translationCalculator.setZoom(zoomCalculator.zoomProperty());
translationCalculator.setFastModifierPredicate(event -> event.isShiftDown()); translationCalculator.setCameraOrientation(cameraOrientation); translationCalculator.setZoom(zoomCalculator.zoomProperty());