- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javafx.embed.swing.JFXPanel
-
- Все реализуемые интерфейсы:
-
ImageObserver,MenuContainer,Serializable
public class JFXPanel extends JComponent
JFXPanelпредставляет собой компонент для встраивания содержимого JavaFX в приложения Swing. Содержимое для отображения задается методомsetScene(javafx.scene.Scene), который принимает экземпляр JavaFX-сцены. После назначения сцены она перерисовывается автоматически. Все события ввода и фокуса прозрачно передаются в сцену разработчику.Существуют некоторые ограничения, связанные с
JFXPanel. Как компонент Swing, к нему следует обращаться только из потока обработки событий, за исключением методаsetScene(javafx.scene.Scene), который можно вызывать как в потоке обработки событий, так и в потоке приложения JavaFX.Вот типичный шаблон использования
JFXPanel:public class Test { private static void initAndShowGUI() { // This method is invoked on Swing thread JFrame frame = new JFrame("FX"); final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); frame.setVisible(true); Platform.runLater(new Runnable() { @Override public void run() { initFX(fxPanel); } }); } private static void initFX(JFXPanel fxPanel) { // This method is invoked on JavaFX thread Scene scene = createScene(); fxPanel.setScene(scene); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { initAndShowGUI(); } }); } }- С момента:
- JavaFX 2.0
- См. также:
- Сериализованная форма
-
Краткое описание вложенных классов
-
Вложенные классы/интерфейсы, унаследованные от класса javax.swing.JComponent
JComponent.AccessibleJComponent
-
Вложенные классы/интерфейсы, унаследованные от класса java.awt.Container
Container.AccessibleAWTContainer
-
Вложенные классы/интерфейсы, унаследованные от класса java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Краткое описание полей
-
Поля, унаследованные от класса javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Поля, унаследованные от класса java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Поля, унаследованные от интерфейса java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Краткое описание конструкторов
Конструкторы Конструктор Описание JFXPanel()Создает новый объектJFXPanel.
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод Описание voidaddNotify()Уведомляет этот компонент о том, что у него теперь есть родительский компонент.InputMethodRequestsgetInputMethodRequests()DimensiongetPreferredSize()Возвращает предпочтительный размер этогоJFXPanel, либо заданный ранее с помощьюJComponent.setPreferredSize(Dimension), либо основанный на содержимом JavaFX сцены, прикреплённой к этомуJFXPanel.ScenegetScene()Возвращает JavaFX сцену, прикреплённую к этомуJFXPanel.booleanisOpaque()НепрозрачностьJFXPanelконтролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяетJComponent.isOpaque(), чтобы всегда возвращать значениеfalse.protected voidpaintComponent(Graphics g)Переопределяет методJComponent.paintComponent(Graphics)для отрисовки содержимого JavaFX сцены, прикреплённой к этомуJFXpanel.protected voidprocessComponentEvent(ComponentEvent e)Переопределяет методComponent.processComponentEvent(ComponentEvent)для передачи событийComponentEvent.COMPONENT_RESIZEDв JavaFX сцену, прикреплённую к этомуJFXPanel.protected voidprocessFocusEvent(FocusEvent e)Переопределяет методComponent.processFocusEvent(FocusEvent)для передачи событий фокуса в JavaFX сцену, прикреплённую к этомуJFXPanel.protected voidprocessHierarchyBoundsEvent(HierarchyEvent e)Переопределяет методComponent.processHierarchyBoundsEvent(HierarchyEvent)для обработки событийHierarchyEvent.ANCESTOR_MOVEDи обновления местоположения JavaFX сцены для соответствия местоположениюJFXPanelна экране.protected voidprocessHierarchyEvent(HierarchyEvent e)protected voidprocessInputMethodEvent(InputMethodEvent e)protected voidprocessKeyEvent(KeyEvent e)Переопределяет методComponent.processKeyEvent(KeyEvent)для передачи события клавиши в JavaFX сцену, прикреплённую к этомуJFXPanel.protected voidprocessMouseEvent(MouseEvent e)Переопределяет методComponent.processMouseEvent(MouseEvent)для передачи события мыши в JavaFX сцену, прикреплённую к этомуJFXPanel.protected voidprocessMouseMotionEvent(MouseEvent e)Переопределяет методComponent.processMouseMotionEvent(MouseEvent)для передачи события движения мыши в JavaFX сцену, прикреплённую к этомуJFXPanel.protected voidprocessMouseWheelEvent(MouseWheelEvent e)Переопределяет методComponent.processMouseWheelEvent(MouseWheelEvent)для передачи события прокрутки колёсиком мыши в JavaFX сцену, прикреплённую к этомуJFXPanel.voidremoveNotify()Уведомляет этот компонент о том, что у него больше нет родительского компонента.voidsetOpaque(boolean opaque)НепрозрачностьJFXPanelконтролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяетJComponent.setOpaque(boolean)для принятия только значенияfalse.voidsetScene(Scene newScene)Присоединяет объектSceneдля отображения в этомJFXPanel.-
Методы, унаследованные от класса javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
Методы, унаследованные от класса java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Методы, унаследованные от класса java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
Подробное описание конструкторов
-
JFXPanel
public JFXPanel()
Создаёт новый объектJFXPanel.Примечание по реализации: при создании первого объекта
JFXPanel, он неявно инициализирует JavaFX runtime. Это предпочтительный способ инициализации JavaFX в Swing.
-
-
Подробное описание методов
-
getScene
public Scene getScene()
Возвращает присоединенную к этомуJFXPanelJavaFX сцену.- Возвращает:
- присоединенную к этому
JFXPanelсцену
-
setScene
public void setScene(Scene newScene)
Присоединяет объектSceneдля отображения в этойJFXPanel. Этот метод можно вызвать как в потоке обработки событий, так и в потоке приложения JavaFX.- Параметры:
-
newScene- сцена для отображения в этойJFXpanel - См. также:
-
EventQueue.isDispatchThread(),Platform.isFxApplicationThread()
-
setOpaque
public final void setOpaque(boolean opaque)
НепрозрачностьJFXPanelуправляется JavaFX-содержимым, отображаемым в этом компоненте, поэтому этот метод переопределяетJComponent.setOpaque(boolean), принимая только значениеfalse. Если этот метод вызывается со значениемtrue, действие не выполняется.- Переопределяет:
-
setOpaqueв классеJComponent - Параметры:
-
opaque- должно бытьfalse
-
isOpaque
public final boolean isOpaque()
НепрозрачностьJFXPanelуправляется JavaFX-содержимым, отображаемым в этом компоненте, поэтому этот метод переопределяетJComponent.isOpaque(), чтобы всегда возвращать значениеfalse.- Переопределяет:
-
isOpaqueв классеJComponent - Возвращает:
- значение
false
-
processMouseEvent
protected void processMouseEvent(MouseEvent e)
Переопределяет методComponent.processMouseEvent(MouseEvent), чтобы переслать событие мыши присоединенной к этомуJFXPanelJavaFX сцене.- Переопределяет:
-
processMouseEventв классеJComponent - Параметры:
-
e- событие мыши для пересылки JavaFX сцене
-
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
Переопределяет методComponent.processMouseMotionEvent(MouseEvent), чтобы переслать событие движения мыши присоединенной к этомуJFXPanelJavaFX сцене.- Переопределяет:
-
processMouseMotionEventв классеJComponent - Параметры:
-
e- событие движения мыши для пересылки JavaFX сцене
-
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e)
Переопределяет методComponent.processMouseWheelEvent(MouseWheelEvent), чтобы переслать событие колёсика мыши присоединенной к этомуJFXPanelJavaFX сцене.- Переопределяет:
-
processMouseWheelEventв классеComponent - Параметры:
-
e- событие колёсика мыши для пересылки JavaFX сцене
-
processKeyEvent
protected void processKeyEvent(KeyEvent e)
Переопределяет методComponent.processKeyEvent(KeyEvent), чтобы переслать событие нажатия клавиши присоединенной к этомуJFXPanelJavaFX сцене.- Переопределяет:
-
processKeyEventв классеJComponent - Параметры:
-
e- событие нажатия клавиши для пересылки JavaFX сцене
-
processComponentEvent
protected void processComponentEvent(ComponentEvent e)
Переопределяет методComponent.processComponentEvent(ComponentEvent), чтобы переслать событияComponentEvent.COMPONENT_RESIZEDприсоединенной к этомуJFXPanelJavaFX сцене. Объект JavaFX сцены затем переразмеряется для соответствия размеруJFXPanel.- Переопределяет:
-
processComponentEventв классеComponent - Параметры:
-
e- событие компонента для пересылки JavaFX сцене
-
processHierarchyBoundsEvent
protected void processHierarchyBoundsEvent(HierarchyEvent e)
Переопределяет методComponent.processHierarchyBoundsEvent(HierarchyEvent), чтобы обработать событияHierarchyEvent.ANCESTOR_MOVEDи обновить расположение JavaFX сцены для соответствия расположениюJFXPanelна экране.- Переопределяет:
-
processHierarchyBoundsEventв классеComponent - Параметры:
-
e- событие границ иерархии для обработки
-
processHierarchyEvent
protected void processHierarchyEvent(HierarchyEvent e)
- Переопределяет:
-
processHierarchyEventв классеComponent
-
processFocusEvent
protected void processFocusEvent(FocusEvent e)
Переопределяет методComponent.processFocusEvent(FocusEvent), чтобы переслать события фокуса присоединенной к этомуJFXPanelJavaFX сцене.- Переопределяет:
-
processFocusEventв классеComponent - Параметры:
-
e- событие фокуса для пересылки JavaFX сцене
-
processInputMethodEvent
protected void processInputMethodEvent(InputMethodEvent e)
- Переопределяет:
-
processInputMethodEventв классеComponent
-
paintComponent
protected void paintComponent(Graphics g)
Переопределяет методJComponent.paintComponent(Graphics)для рисования содержимого JavaFX сцены, присоединенной к этомуJFXpanel.- Переопределяет:
-
paintComponentв классеJComponent - Параметры:
-
g- контекст Graphics для рисования - См. также:
isOpaque()
-
getPreferredSize
public Dimension getPreferredSize()
Возвращает предпочтительный размер этойJFXPanel, либо заданный ранее с помощьюJComponent.setPreferredSize(Dimension), либо основанный на содержимом присоединенной к этойJFXPanelJavaFX сцены.- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- prefSize предпочтительный размер этой
JFXPanel
-
addNotify
public void addNotify()
Уведомляет этот компонент о том, что у него теперь есть родительский компонент. При вызове этого метода устанавливается цепочка родительских компонентов с обработчиками событий KeyboardAction.- Переопределяет:
-
addNotifyв классеJComponent
-
getInputMethodRequests
public InputMethodRequests getInputMethodRequests()
- Переопределяет:
-
getInputMethodRequestsв классеComponent
-
-
removeNotify
public void removeNotify()
Уведомляет этот компонент о том, что у него больше нет родительского компонента. При вызове этого метода любые KeyboardActions, настроенные в цепочке родительских компонентов, удаляются.- Overrides:
-
removeNotifyв классеJComponent
-
© 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.