public class SwingNode extends Node
setContent(javax.swing.JComponent) method
that accepts an instance of Swing JComponent. The hierarchy of components
contained in the JComponent instance should not contain any heavyweight
components, otherwise SwingNode may fail to paint it. The content gets
repainted automatically. All the input and focus events are forwarded to the
JComponent instance transparently to the developer.
Here is a typical pattern which demonstrates how SwingNode can be used:
public class SwingFx extends Application {
@Override
public void start(Stage stage) {
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode);
StackPane pane = new StackPane();
pane.getChildren().add(swingNode);
stage.setScene(new Scene(pane, 100, 50));
stage.show();
}
private void createAndSetSwingContent(final SwingNode swingNode) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
swingNode.setContent(new JButton("Click me!"));
}
});
}
public static void main(String[] args) {
launch(args);
}
}
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, visibleBASELINE_OFFSET_SAME_AS_HEIGHT| Constructor and Description |
|---|
SwingNode()
Constructs a new instance of
SwingNode. |
| Modifier and Type | Method and Description |
|---|---|
JComponent |
getContent()
Returns the
JComponent instance attached to this SwingNode. |
boolean |
isResizable()
Indicates whether this node is a type which can be resized by its parent.
|
double |
maxHeight(double width)
Returns the
SwingNode's maximum height for use in layout calculations. |
double |
maxWidth(double height)
Returns the
SwingNode's maximum width for use in layout calculations. |
double |
minHeight(double width)
Returns the
SwingNode's minimum height for use in layout calculations. |
double |
minWidth(double height)
Returns the
SwingNode's minimum width for use in layout calculations. |
double |
prefHeight(double width)
Returns the
SwingNode's preferred height for use in layout calculations. |
double |
prefWidth(double height)
Returns the
SwingNode's preferred width for use in layout calculations. |
void |
resize(double width,
double height)
Invoked by the
SwingNode's parent during layout to set the SwingNode's
width and height. |
void |
setContent(JComponent content)
Attaches a
JComponent instance to display in this SwingNode. |
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visiblePropertypublic void setContent(JComponent content)
JComponent instance to display in this SwingNode.
The method can be called either on the JavaFX Application thread or the Event Dispatch thread. Note however, that access to a Swing component must occur from the Event Dispatch thread according to the Swing threading restrictions.
content - a Swing component to display in this SwingNodeEventQueue.isDispatchThread(),
Platform.isFxApplicationThread()public JComponent getContent()
JComponent instance attached to this SwingNode.
The method can be called either on the JavaFX Application thread or the Event Dispatch thread. Note however, that access to a Swing component must occur from the Event Dispatch thread according to the Swing threading restrictions.
SwingNodeEventQueue.isDispatchThread(),
Platform.isFxApplicationThread()public boolean isResizable()
NodeIf this method returns false, then the parent cannot resize it during layout (resize() is a no-op) and it should return its layoutBounds for minimum, preferred, and maximum sizes. Group, Text, and all Shapes are not resizable and hence depend on the application to establish their sizing by setting appropriate properties (e.g. width/height for Rectangle, text on Text, and so on). Non-resizable nodes may still be relocated during layout.
isResizable in class NodeNode.getContentBias(),
Node.minWidth(double),
Node.minHeight(double),
Node.prefWidth(double),
Node.prefHeight(double),
Node.maxWidth(double),
Node.maxHeight(double),
Node.resize(double, double),
Node.getLayoutBounds()public void resize(double width,
double height)
SwingNode's parent during layout to set the SwingNode's
width and height. Applications should not invoke this method directly.
If an application needs to directly set the size of the SwingNode, it should
set the Swing component's minimum/preferred/maximum size constraints which will
be propagated correspondingly to the SwingNode and it's parent will honor those
settings during layout.resize in class Nodewidth - the target layout bounds widthheight - the target layout bounds heightNode.isResizable(),
Node.getContentBias(),
Node.autosize(),
Node.minWidth(double),
Node.minHeight(double),
Node.prefWidth(double),
Node.prefHeight(double),
Node.maxWidth(double),
Node.maxHeight(double),
Node.getLayoutBounds()public double prefWidth(double height)
SwingNode's preferred width for use in layout calculations.
This value corresponds to the preferred width of the Swing component.prefWidth in class Nodeheight - the height that should be used if preferred width depends on itNode.isResizable(),
Node.getContentBias(),
Node.autosize()public double prefHeight(double width)
SwingNode's preferred height for use in layout calculations.
This value corresponds to the preferred height of the Swing component.prefHeight in class Nodewidth - the width that should be used if preferred height depends on itNode.getContentBias(),
Node.autosize()public double maxWidth(double height)
SwingNode's maximum width for use in layout calculations.
This value corresponds to the maximum width of the Swing component.maxWidth in class Nodeheight - the height that should be used if maximum width depends on itNode.isResizable(),
Node.getContentBias()public double maxHeight(double width)
SwingNode's maximum height for use in layout calculations.
This value corresponds to the maximum height of the Swing component.maxHeight in class Nodewidth - the width that should be used if maximum height depends on itNode.isResizable(),
Node.getContentBias()public double minWidth(double height)
SwingNode's minimum width for use in layout calculations.
This value corresponds to the minimum width of the Swing component.minWidth in class Nodeheight - the height that should be used if minimum width depends on itNode.isResizable(),
Node.getContentBias()public double minHeight(double width)
SwingNode's minimum height for use in layout calculations.
This value corresponds to the minimum height of the Swing component.minHeight in class Nodewidth - the width that should be used if minimum height depends on itNode.isResizable(),
Node.getContentBias()Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.