Class SwingNode
- All Implemented Interfaces:
-
Styleable,EventTarget
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);
}
}
- Since:
- JavaFX 8.0
Property Summary
Properties declared in class javafx.scene.Node
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, viewOrder, visible
Field Summary
Fields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Constructor Summary
| Constructor | Description |
|---|---|
SwingNode() | Constructs a new instance of SwingNode. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
JComponent | getContent() | Returns the JComponent instance attached to this SwingNode. |
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. |
Methods declared in class javafx.scene.Node
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, getInitialCursor, getInitialFocusTraversable, 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, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode, getStyleClass
Constructor Details
SwingNode
public SwingNode()
SwingNode.Method Details
setContent
public 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.
- Parameters:
-
content- a Swing component to display in thisSwingNode - See Also:
-
EventQueue.isDispatchThread(),Platform.isFxApplicationThread()
getContent
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.
- Returns:
- the Swing component attached to this
SwingNode - See Also:
-
EventQueue.isDispatchThread(),Platform.isFxApplicationThread()
resize
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.- Overrides:
-
resizein classNode - Parameters:
-
width- the target layout bounds width -
height- the target layout bounds height - See Also:
-
Node.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()
prefWidth
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.- Overrides:
-
prefWidthin classNode - Parameters:
-
height- the height that should be used if preferred width depends on it - Returns:
- the preferred width that the node should be resized to during layout
- See Also:
-
Node.isResizable(),Node.getContentBias(),Node.autosize()
prefHeight
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.- Overrides:
-
prefHeightin classNode - Parameters:
-
width- the width that should be used if preferred height depends on it - Returns:
- the preferred height that the node should be resized to during layout
- See Also:
-
Node.getContentBias(),Node.autosize()
maxWidth
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.- Overrides:
-
maxWidthin classNode - Parameters:
-
height- the height that should be used if maximum width depends on it - Returns:
- the maximum width that the node should be resized to during layout
- See Also:
-
Node.isResizable(),Node.getContentBias()
maxHeight
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.- Overrides:
-
maxHeightin classNode - Parameters:
-
width- the width that should be used if maximum height depends on it - Returns:
- the maximum height that the node should be resized to during layout
- See Also:
-
Node.isResizable(),Node.getContentBias()
minWidth
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.- Overrides:
-
minWidthin classNode - Parameters:
-
height- the height that should be used if minimum width depends on it - Returns:
- the minimum width that the node should be resized to during layout
- See Also:
-
Node.isResizable(),Node.getContentBias()
minHeight
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.- Overrides:
-
minHeightin classNode - Parameters:
-
width- the width that should be used if minimum height depends on it - Returns:
- the minimum height that the node should be resized to during layout
- See Also:
-
Node.isResizable(),Node.getContentBias()
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.