modules/swing/src/main/java/javafx/embed/swing/SwingNode.java

Print this page

        

*** 38,49 **** import javafx.beans.Observable; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.EventHandler; import javafx.geometry.Point2D; ! import javafx.scene.Node; ! import javafx.scene.Scene; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import javafx.stage.Window; --- 38,48 ---- import javafx.beans.Observable; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.EventHandler; import javafx.geometry.Point2D; ! import javafx.scene.*; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import javafx.stage.Window;
*** 639,648 **** --- 638,651 ---- SwingNode.this.minHeight = height; SwingNode.this.impl_notifyLayoutBoundsChanged(); } }); } + @Override + public void invokeOnContentsThread(Runnable runnable) { + Platform.runLater(runnable); + } } private void ungrabFocus(boolean postUngrabEvent) { if (grabbed && getScene() != null &&
*** 670,680 **** } private class SwingMouseEventHandler implements EventHandler<MouseEvent> { @Override public void handle(MouseEvent event) { ! if (event.getEventType() == MouseEvent.MOUSE_PRESSED && !SwingNode.this.isFocused() && SwingNode.this.isFocusTraversable()) { SwingNode.this.requestFocus(); } JLightweightFrame frame = lwFrame; --- 673,688 ---- } private class SwingMouseEventHandler implements EventHandler<MouseEvent> { @Override public void handle(MouseEvent event) { ! // Disable the FX cursor updates when mouse enters SwingNode and enable bask when exits ! if (event.getEventType() == MouseEvent.MOUSE_ENTERED) { ! getScene().getWindow().impl_getPeer().setUpdatesCursor(false); ! } else if (event.getEventType() == MouseEvent.MOUSE_EXITED) { ! getScene().getWindow().impl_getPeer().setUpdatesCursor(true); ! } else if (event.getEventType() == MouseEvent.MOUSE_PRESSED && !SwingNode.this.isFocused() && SwingNode.this.isFocusTraversable()) { SwingNode.this.requestFocus(); } JLightweightFrame frame = lwFrame;