Класс JFXPanel
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable
public class JFXPanel extends JComponent
JFXPanel — это компонент для встраивания содержимого JavaFX в приложения Swing. Содержимое для отображения задаётся методом setScene(javafx.scene.Scene), принимающим экземпляр JavaFX Scene. После назначения сцены она перерисовывается автоматически. Все события ввода и фокуса прозрачно передаются в сцену разработчику. Существуют некоторые ограничения, связанные с 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();
}
});
}
}
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing или JavaFX. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной версией Swing и одной версией JavaFX.- С момента:
- 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 объект. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addNotify() |
Уведомляет этот компонент о том, что у него теперь есть родительский компонент. |
Dimension |
getPreferredSize() |
Возвращает предпочтительный размер этого JFXPanel, либо ранее заданный с помощью JComponent.setPreferredSize(Dimension), либо на основе содержимого JavaFX сцены, прикреплённой к этому
JFXPanel. |
Scene |
getScene() |
Возвращает JavaFX сцену, прикреплённую к этому JFXPanel. |
final boolean |
isOpaque() |
Непрозрачность JFXPanel контролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяет JComponent.isOpaque(), чтобы всегда возвращать значение false. |
protected void |
paintComponent |
Переопределяет метод JComponent.paintComponent(Graphics), чтобы рисовать содержимое JavaFX сцены, прикреплённой к этому JFXpanel. |
protected void |
processComponentEvent |
Переопределяет метод Component.processComponentEvent(ComponentEvent), чтобы рассылать события ComponentEvent.COMPONENT_RESIZED в прикреплённую к этому JFXPanel JavaFX сцену. |
protected void |
processFocusEvent |
Переопределяет метод Component.processFocusEvent(FocusEvent), чтобы рассылать события фокуса в прикреплённую к этому JFXPanel JavaFX сцену. |
protected void |
processHierarchyBoundsEvent |
Переопределяет метод Component.processHierarchyBoundsEvent(HierarchyEvent), чтобы обрабатывать события HierarchyEvent.ANCESTOR_MOVED и обновлять расположение JavaFX сцены для соответствия расположению
JFXPanel на экране. |
protected void |
processKeyEvent |
Переопределяет метод Component.processKeyEvent(KeyEvent), чтобы рассылать событие нажатия клавиши в прикреплённую к этому JFXPanel JavaFX сцену. |
protected void |
processMouseEvent |
Переопределяет метод Component.processMouseEvent(MouseEvent), чтобы рассылать событие мыши в прикреплённую к этому JFXPanel JavaFX сцену. |
protected void |
processMouseMotionEvent |
Переопределяет метод Component.processMouseMotionEvent(MouseEvent), чтобы рассылать событие движения мыши в прикреплённую к этому JFXPanel JavaFX сцену. |
protected void |
processMouseWheelEvent |
Переопределяет метод Component.processMouseWheelEvent(MouseWheelEvent), чтобы рассылать событие колеса мыши в прикреплённую к этому JFXPanel JavaFX сцену. |
void |
removeNotify() |
Уведомляет этот компонент о том, что у него больше нет родительского компонента. |
final void |
setOpaque |
Непрозрачность JFXPanel контролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяет JComponent.setOpaque(boolean), чтобы принимать только значение false. |
void |
setScene |
Прикрепляет объект 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, getInputMethodRequests, 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, processHierarchyEvent, processInputMethodEvent, 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. Это предпочтительный способ инициализации JavaFX в Swing.
Подробное описание методов
getScene
public Scene getScene()
JFXPanel сцену JavaFX.- Возвращает:
- присоединенную к этому объекту
JFXPanelсценуScene
setScene
public void setScene(Scene newScene)
Scene для отображения в этом объекте
JFXPanel. Этот метод может быть вызван как в потоке обработки событий, так и в потоке приложения JavaFX.- Параметры:
-
newScene- сцена для отображения в этом объектеJFXpanel - См. также:
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) для передачи события мыши присоединённой к этому объекту JFXPanel сцене JavaFX.- Переопределяет:
-
processMouseEventв классеJComponent - Параметры:
-
e- событие мыши для передачи сцене JavaFX
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
Component.processMouseMotionEvent(MouseEvent) для передачи события движения мыши присоединённой к этому объекту JFXPanel сцене JavaFX.- Переопределяет:
-
processMouseMotionEventв классеJComponent - Параметры:
-
e- событие движения мыши для передачи сцене JavaFX
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e)
Component.processMouseWheelEvent(MouseWheelEvent) для передачи события прокрутки колёсика мыши присоединённой к этому объекту JFXPanel сцене JavaFX.- Переопределяет:
-
processMouseWheelEventв классеComponent - Параметры:
-
e- событие прокрутки колёсика мыши для передачи сцене JavaFX
processKeyEvent
protected void processKeyEvent(KeyEvent e)
Component.processKeyEvent(KeyEvent) для передачи события нажатия клавиши присоединённой к этому объекту JFXPanel сцене JavaFX.- Переопределяет:
-
processKeyEventв классеJComponent - Параметры:
-
e- событие нажатия клавиши для передачи сцене JavaFX
processComponentEvent
protected void processComponentEvent(ComponentEvent e)
Component.processComponentEvent(ComponentEvent) для передачи событий ComponentEvent.COMPONENT_RESIZED присоединённой к этому объекту JFXPanel сцене JavaFX. Объект сцены JavaFX затем масштабируется в соответствии с размером JFXPanel.- Переопределяет:
-
processComponentEventв классеComponent - Параметры:
-
e- событие компонента для передачи сцене JavaFX
processHierarchyBoundsEvent
protected void processHierarchyBoundsEvent(HierarchyEvent e)
Component.processHierarchyBoundsEvent(HierarchyEvent) для обработки событий HierarchyEvent.ANCESTOR_MOVED и обновления расположения сцены JavaFX для соответствия расположению
JFXPanel на экране.- Переопределяет:
-
processHierarchyBoundsEventв классеComponent - Параметры:
-
e- событие границ иерархии для обработки
processFocusEvent
protected void processFocusEvent(FocusEvent e)
Component.processFocusEvent(FocusEvent) для передачи событий фокуса присоединённой к этому объекту JFXPanel сцене JavaFX.- Переопределяет:
-
processFocusEventв классеComponent - Параметры:
-
e- событие фокуса для передачи сцене JavaFX
paintComponent
protected void paintComponent(Graphics g)
JComponent.paintComponent(Graphics) для отрисовки содержимого сцены JavaFX, присоединённой к этому объекту JFXpanel.- Переопределяет:
-
paintComponentв классеJComponent - Параметры:
-
g- контекст Graphics для отрисовки - См. также:
getPreferredSize
public Dimension getPreferredSize()
JFXPanel, либо заданный ранее методом JComponent.setPreferredSize(Dimension), либо основанный на содержимом присоединённой к этому объекту
JFXPanel сцены JavaFX.- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- предпочтительный размер
JFXPanel
addNotify
public void addNotify()
- Переопределяет:
-
addNotifyв классеJComponent
removeNotify
public void removeNotify()
- 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.