Spec-Zone.ru › OpenJavaFX 21

Класс JFXPanel

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 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(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 на экране.

Методы, объявленные в классе 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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

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
См. также:
  • 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), чтобы перенаправлять событие мыши на сцену 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 для отрисовки
См. также:
  • isOpaque()

getPreferredSize

public Dimension getPreferredSize()
Возвращает предпочтительный размер этого объекта JFXPanel, либо заданный ранее с помощью JComponent.setPreferredSize(Dimension), либо основанный на содержимом сцены JavaFX, присоединённой к этому объекту JFXPanel.
Переопределяет:
getPreferredSize в классе JComponent
Возвращает:
prefSize предпочтительный размер этого объекта JFXPanel

addNotify

public void addNotify()
Уведомляет этот компонент о том, что у него теперь есть родительский компонент. Когда этот метод вызывается, цепочка родительских компонентов настраивается с обработчиками событий KeyboardAction.
Переопределяет:
addNotify в классе JComponent

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API