Класс 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();
}
});
}
}
- С тех пор:
- 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 прикреплённой JavaFX сцене этого JFXPanel. |
protected void |
processFocusEvent |
Переопределяет метод Component.processFocusEvent(FocusEvent), чтобы рассылать события фокуса прикреплённой JavaFX сцене этого JFXPanel. |
protected void |
processHierarchyBoundsEvent |
Переопределяет метод Component.processHierarchyBoundsEvent(HierarchyEvent), чтобы обрабатывать события HierarchyEvent.ANCESTOR_MOVED и обновлять расположение JavaFX сцены, чтобы оно соответствовало расположению
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), чтобы перенаправлять событие мыши на сцену JavaFX, присоединённую к этому объекту JFXPanel.- Переопределяет:
-
processMouseEventв классеJComponent - Параметры:
-
e- событие мыши для перенаправления на сцену JavaFX
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
Component.processMouseMotionEvent(MouseEvent), чтобы перенаправлять событие движения мыши на сцену JavaFX, присоединённую к этому объекту JFXPanel.- Переопределяет:
-
processMouseMotionEventв классеJComponent - Параметры:
-
e- событие движения мыши для перенаправления на сцену JavaFX
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e)
Component.processMouseWheelEvent(MouseWheelEvent), чтобы перенаправлять событие колеса мыши на сцену JavaFX, присоединённую к этому объекту JFXPanel.- Переопределяет:
-
processMouseWheelEventв классеComponent - Параметры:
-
e- событие колеса мыши для перенаправления на сцену JavaFX
processKeyEvent
protected void processKeyEvent(KeyEvent e)
Component.processKeyEvent(KeyEvent), чтобы перенаправлять событие нажатия клавиши на сцену JavaFX, присоединённую к этому объекту JFXPanel.- Переопределяет:
-
processKeyEventв классеJComponent - Параметры:
-
e- событие нажатия клавиши для перенаправления на сцену JavaFX
processComponentEvent
protected void processComponentEvent(ComponentEvent e)
Component.processComponentEvent(ComponentEvent), чтобы перенаправлять события ComponentEvent.COMPONENT_RESIZED на сцену JavaFX, присоединённую к этому объекту JFXPanel. Объект сцены 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), чтобы перенаправлять события фокуса на сцену JavaFX, присоединённую к этому объекту JFXPanel.- Переопределяет:
-
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), либо основанный на содержимом сцены JavaFX, присоединённой к этому объекту
JFXPanel.- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- prefSize предпочтительный размер этого объекта
JFXPanel
addNotify
public void addNotify()
- Переопределяет:
-
addNotifyв классеJComponent
removeNotify
public void removeNotify()
- Переопределяет:
-
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.