- java.lang.Object
-
- javafx.scene.Node
-
- javafx.embed.swing.SwingNode
-
- All Implemented Interfaces:
-
Styleable
,EventTarget
public class SwingNode extends Node
此类用于将Swing内容嵌入到JavaFX应用程序中。 要显示的内容使用接受SwingJComponent
实例的setContent(javax.swing.JComponent)
方法指定。 组件中包含的层次结构JComponent
实例不应包含任何重量级组件,否则SwingNode
可能无法绘制它。 内容自动重画。 所有的输入和焦点事件都将透明地转发给开发人员的JComponent
实例。这是一个典型的模式,演示如何使用
SwingNode
: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); } }
- 从以下版本开始:
- JavaFX 8.0
-
-
Property Summary
-
Properties inherited from 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 inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
构造方法摘要
构造方法 Constructor 描述 SwingNode()
构造一个新的实例SwingNode
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 JComponent
getContent()
返回附加到此SwingNode
的JComponent
实例。boolean
isResizable()
指示该节点是否可以由父节点调整大小。double
maxHeight(double width)
返回SwingNode
用于布局计算的最大高度。double
maxWidth(double height)
返回SwingNode
用于布局计算的最大宽度。double
minHeight(double width)
返回SwingNode
用于布局计算的最小高度。double
minWidth(double height)
返回SwingNode
用于布局计算的最小宽度。double
prefHeight(double width)
返回SwingNode
用于布局计算的首选高度。double
prefWidth(double height)
返回用于布局计算的SwingNode
的首选宽度。void
resize(double width, double height)
由SwingNode
的父母在布局期间调用SwingNode
的宽度和高度。void
setContent(JComponent content)
附JComponent
实例显示在这个SwingNode
。-
Methods inherited from 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, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
方法详细信息
-
setContent
public void setContent(JComponent content)
附JComponent
实例显示在这个SwingNode
。该方法可以在JavaFX应用程序线程或事件调度线程上调用。 但是请注意,对于Swing组件的访问必须根据Swing线程限制从事件调度线程发生。
- 参数
-
content
- 显示在这个SwingNode
的Swing组件 - 另请参见:
-
EventQueue.isDispatchThread()
,Platform.isFxApplicationThread()
-
getContent
public JComponent getContent()
返回附加到此SwingNode
的JComponent
实例。该方法可以在JavaFX应用程序线程或事件调度线程上调用。 但是请注意,对于Swing组件的访问必须根据Swing线程限制从事件调度线程发生。
- 结果
-
Swing组件附加到这个
SwingNode
- 另请参见:
-
EventQueue.isDispatchThread()
,Platform.isFxApplicationThread()
-
isResizable
public boolean isResizable()
描述从类复制:Node
指示该节点是否可以由父节点调整大小。 如果此方法返回true,那么在布局过程中,父节点将通过调用node.resize(width,height)来调整节点的大小(理想情况下在其大小范围内)。 所有区域,控件和WebView都是可调整大小的类,它们在应用所有尺寸和CSS样式信息后,依赖于他们的父母在布局期间调整大小。如果此方法返回false,那么在布局期间父()不能调整它大小(resize()是一个no-op),并且它应该返回其layoutBounds的最小,首选和最大大小。 组,文本和所有形状都不能调整大小,因此通过设置适当的属性(例如矩形的宽度/高度,文本上的文本等),依赖于应用程序来建立其大小。 在布局期间,仍然可以重新定位不可调整大小的节点。
- 重写:
-
isResizable
在Node
- 结果
- 该布局期间该节点类型是否可以由其父节点调整大小
- 另请参见:
-
Node.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()
-
resize
public void resize(double width, double height)
SwingNode
的父亲在布局期间调用SwingNode
的宽度和高度。 应用程序不应直接调用此方法 。 如果应用程序需要直接设置SwingNode
的大小,则应该设置Swing组件的最小/首选/最大大小约束,这些约束将相应地传播到SwingNode
并且它的父级将在布局期间遵守这些设置。- 重写:
-
resize
在Node
- 参数
-
width
- 目标布局的边界宽度 -
height
- 目标布局界定高度 - 另请参见:
-
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
用于布局计算的首选宽度。 该值对应于Swing组件的首选宽度。- 重写:
-
prefWidth
在Node
- 参数
-
height
- 如果首选宽度取决于应该使用的高度 - 结果
- 在布局期间,节点应该调整大小的首选宽度
- 另请参见:
-
Node.isResizable()
,Node.getContentBias()
,Node.autosize()
-
prefHeight
public double prefHeight(double width)
返回SwingNode
用于布局计算的首选高度。 该值对应于Swing组件的首选高度。- 重写:
-
prefHeight
中的Node
- 参数
-
width
- 如果偏好的高度取决于应该使用的宽度 - 结果
- 在布局期间,节点应该调整大小的首选高度
- 另请参见:
-
Node.getContentBias()
,Node.autosize()
-
maxWidth
public double maxWidth(double height)
返回SwingNode
的最大宽度,用于布局计算。 该值对应于Swing组件的最大宽度。- 重写:
-
maxWidth
在Node
- 参数
-
height
- 如果最大宽度取决于应该使用的高度 - 结果
- 布局期间节点应调整大小的最大宽度
- 另请参见:
-
Node.isResizable()
,Node.getContentBias()
-
maxHeight
public double maxHeight(double width)
返回SwingNode
用于布局计算的最大高度。 该值对应于Swing组件的最大高度。- 重写:
-
maxHeight
在Node
- 参数
-
width
- 如果最大高度取决于应该使用的宽度 - 结果
- 节点在布局期间应该调整大小的最大高度
- 另请参见:
-
Node.isResizable()
,Node.getContentBias()
-
minWidth
public double minWidth(double height)
返回SwingNode
用于布局计算的最小宽度。 该值对应于Swing组件的最小宽度。- 重写:
-
minWidth
在Node
- 参数
-
height
- 如果最小宽度取决于应该使用的高度 - 结果
- 布局期间节点应该调整大小的最小宽度
- 另请参见:
-
Node.isResizable()
,Node.getContentBias()
-
minHeight
public double minHeight(double width)
返回SwingNode
的最小高度用于布局计算。 该值对应于Swing组件的最小高度。- 重写:
-
minHeight
在Node
- 参数
-
width
- 如果最小高度取决于应该使用的宽度 - 结果
- 节点在布局期间应调整大小的最小高度
- 另请参见:
-
Node.isResizable()
,Node.getContentBias()
-
-