Package org.eclipse.gef.fx.swt.canvas
Class FXCanvasEx
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Canvas
javafx.embed.swt.FXCanvas
org.eclipse.gef.fx.swt.canvas.FXCanvasEx
- All Implemented Interfaces:
Drawable
public class FXCanvasEx
extends javafx.embed.swt.FXCanvas
A replacement of
FXCanvas that fixes the following issues:
- JDK-8088147 - [SWT] FXCanvas: implement custom cursors [workaround for JavaSE-1.8 only, as fixed by SWTCursors in JavaSE-1.9]
- JDK-8161282 - FXCanvas does not forward horizontal mouse scroll events to the embedded scene. [workaround for JavaSE-1.8 only, as fixed by FXCanvas in JavaSE-1.9]
- JDK-8143596 - FXCanvas does not forward touch gestures to embedded scene. [workaround for JavaSE-1.8 only, as fixed by FXCanvas in JavaSE-1.9]
- JDK-8159227 - FXCanvas should properly forward consumption state of key events from SWT to embedded scene.
- JDK-8161587 - FXCanvas does not consistently render the scene graph when long running event handlers are used.
- JDK-8088862 - Provide possibility to traverse focus out of FX scene.
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionFXCanvasEx(Composite parent, int style) Creates a newFXCanvasExfor the given parent and with the given style. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddKeyListener(KeyListener listener) voidaddListener(int eventType, Listener listener) voidaddMouseWheelListener(MouseWheelListener listener) static javafx.embed.swt.FXCanvasgetFXCanvas(javafx.scene.Scene scene) Returns theFXCanvaswhich contains the givenScene.javafx.stage.WindowgetStage()Returns the stageWindowhold by thisFXCanvas.voidremoveKeyListener(KeyListener listener) voidremoveListener(int eventType, Listener listener) voidremoveMouseWheelListener(MouseWheelListener listener) voidsetScene(javafx.scene.Scene newScene) Methods inherited from class javafx.embed.swt.FXCanvas
computeSize, getScene, reskinMethods inherited from class org.eclipse.swt.widgets.Canvas
drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIMEMethods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, redraw, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toStringMethods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBarMethods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, updateMethods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, setData, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalable
-
Constructor Details
-
FXCanvasEx
Creates a newFXCanvasExfor the given parent and with the given style.- Parameters:
parent- TheCompositeto use as parent.style- A combination of SWT styles to be applied. Note that theFXCanvasconstructor will set theSWT.NO_BACKGROUNDstyle before passing it to theCanvasconstructor.
-
-
Method Details
-
getFXCanvas
public static javafx.embed.swt.FXCanvas getFXCanvas(javafx.scene.Scene scene) Returns theFXCanvaswhich contains the givenScene. Therefore, it is only valid to call this method for aScenewhich is embedded into an SWT application viaFXCanvas.- Parameters:
scene- TheScenefor which to determine the surroundingFXCanvas.- Returns:
- The
FXCanvaswhich contains the givenScene.
-
addKeyListener
- Overrides:
addKeyListenerin classControl
-
addListener
- Overrides:
addListenerin classWidget
-
addMouseWheelListener
- Overrides:
addMouseWheelListenerin classControl
-
getStage
public javafx.stage.Window getStage()Returns the stageWindowhold by thisFXCanvas.- Returns:
- The stage
Window.
-
removeKeyListener
- Overrides:
removeKeyListenerin classControl
-
removeListener
- Overrides:
removeListenerin classWidget
-
removeMouseWheelListener
- Overrides:
removeMouseWheelListenerin classControl
-
setScene
public void setScene(javafx.scene.Scene newScene) - Overrides:
setScenein classjavafx.embed.swt.FXCanvas
-