Класс 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. |
boolean | isOpaque() | Непрозрачность JFXPanel контролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяет JComponent.isOpaque(), чтобы всегда возвращать значение false. |
protected void | paintComponent(Graphics g) | Переопределяет метод JComponent.paintComponent(Graphics), чтобы рисовать содержимое JavaFX сцены, присоединенной к этому JFXpanel. |
protected void | processComponentEvent(ComponentEvent e) | Переопределяет метод Component.processComponentEvent(ComponentEvent), чтобы рассылать события ComponentEvent.COMPONENT_RESIZED в JavaFX сцену, присоединенную к этому JFXPanel. |
protected void | processFocusEvent(FocusEvent e) | Переопределяет метод Component.processFocusEvent(FocusEvent), чтобы рассылать события фокуса в JavaFX сцену, присоединенную к этому JFXPanel. |
protected void | processHierarchyBoundsEvent(HierarchyEvent e) | Переопределяет метод Component.processHierarchyBoundsEvent(HierarchyEvent), чтобы обрабатывать события HierarchyEvent.ANCESTOR_MOVED и обновлять расположение JavaFX сцены, чтобы соответствовать расположению
JFXPanel на экране. |
protected void | processKeyEvent(KeyEvent e) | Переопределяет метод Component.processKeyEvent(KeyEvent), чтобы рассылать событие нажатия клавиши в JavaFX сцену, присоединённую к этому JFXPanel. |
protected void | processMouseEvent(MouseEvent e) | Переопределяет метод Component.processMouseEvent(MouseEvent), чтобы рассылать событие мыши в JavaFX сцену, присоединённую к этому JFXPanel. |
protected void | processMouseMotionEvent(MouseEvent e) | Переопределяет метод Component.processMouseMotionEvent(MouseEvent), чтобы рассылать событие движения мыши в JavaFX сцену, присоединенную к этому JFXPanel. |
protected void | processMouseWheelEvent(MouseWheelEvent e) | Переопределяет метод Component.processMouseWheelEvent(MouseWheelEvent), чтобы рассылать событие колесика мыши в JavaFX сцену, присоединённую к этому JFXPanel. |
void | removeNotify() | Уведомляет этот компонент о том, что у него больше нет родительского компонента. |
void | setOpaque(boolean opaque) | Непрозрачность JFXPanel контролируется содержимым JavaFX, отображаемым в этом компоненте, поэтому этот метод переопределяет JComponent.setOpaque(boolean), чтобы принимать только значение false. |
void | setScene(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, 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.- Возвращает:
- присоединённую
Sceneк этому объекту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) для передачи события мыши присоединённой к этому объекту 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 для отрисовки - См. также:
isOpaque()
getPreferredSize
public Dimension getPreferredSize()
JFXPanel, либо установленный ранее с помощью JComponent.setPreferredSize(Dimension), либо на основе содержимого сцены JavaFX, присоединённой к этому объекту
JFXPanel.- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- предпочтительный размер этого объекта
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.