Spec-Zone.ru › OpenJavaFX 24

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

Методы, объявленные в классе 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) для передачи события мыши присоединённой к этому объекту 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), либо основанный на содержимом присоединённой к этому объекту JFXPanel сцены JavaFX.
Переопределяет:
getPreferredSize в классе JComponent
Возвращает:
предпочтительный размер JFXPanel

addNotify

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

removeNotify

public void removeNotify()
Уведомляет этот компонент о том, что у него больше нет родительского компонента. Когда этот метод вызывается, все KeyboardActions, настроенные в цепочке родительских компонентов, удаляются.
Overrides:
removeNotify в классе JComponent

Отправить отчет об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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