Класс JFXPanel
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javafx.embed.swing.JFXPanel
Все реализованные интерфейсы:
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.
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
Детали конструктора
-
JFXPanel
public JFXPanel()
Создает новыйJFXPanelобъект.Примечание по реализации: при создании первого
JFXPanelобъекта неявно инициализируется среда выполнения JavaFX. Это предпочтительный способ инициализации JavaFX в Swing.
-
-
Детали метода
-
getScene
public Scene getScene()
Возвращает сцену JavaFX, прикрепленную к этомуJFXPanel.Возвращает:
Scene, прикрепленную к этомуJFXPanel
-
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- событие границ иерархии для обработки
-
processHierarchyEvent
protected void processHierarchyEvent(HierarchyEvent e)
Переопределяет:
processHierarchyEventв классеComponent
-
processFocusEvent
protected void processFocusEvent(FocusEvent e)
Переопределяет методComponent.processFocusEvent(FocusEvent), чтобы отправлять события фокуса в сцену JavaFX, прикрепленную к этомуJFXPanel.Переопределяет:
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, в котором нужно рисоватьСм. также:
-
getPreferredSize
public Dimension getPreferredSize()
Возвращает предпочтительный размер этогоJFXPanel, ранее установленный с помощьюJComponent.setPreferredSize(Dimension)или основанный на содержимом сцены JavaFX, прикрепленной к этомуJFXPanel.Переопределяет:
getPreferredSizeв классеJComponentВозвращает:
prefSize — предпочтительный размер
JFXPanel
-
addNotify
public void addNotify()
Уведомляет этот компонент о том, что у него теперь есть родительский компонент. Когда этот метод вызывается, цепочка родительских компонентов настраивается с прослушивателями событий KeyboardAction.Переопределяет:
addNotifyв классеJComponent
-
getInputMethodRequests
public InputMethodRequests getInputMethodRequests()
Переопределяет:
getInputMethodRequestsв классеComponent
-
removeNotify
public void removeNotify()
Уведомляет этот компонент о том, что у него больше нет родительского компонента. Когда этот метод вызывается, все KeyboardActions, настроенные в цепочке родительских компонентов, удаляются.Переопределяет:
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.