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;