Spec-Zone.ru › OpenJavaFX 17

Класс 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.
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

Методы, объявленные в классе 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()
Возвращает сцену JavaFX, присоединённую к этому объекту 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()
Уведомляет этот компонент о том, что у него теперь есть родительский компонент. При вызове этого метода устанавливается цепочка родительских компонентов с обработчиками событий 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