Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.swing
Пакет javafx.embed.swing

Класс 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-сцены. После назначения сцены она перерисовывается автоматически. Все события ввода и фокуса прозрачно передаются в сцену разработчику.

    Существуют некоторые ограничения, связанные с 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()
    Уведомляет этот компонент о том, что у него теперь есть родительский компонент.
    InputMethodRequests getInputMethodRequests()
    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 processHierarchyEvent​(HierarchyEvent e)
    protected void processInputMethodEvent​(InputMethodEvent e)
    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, 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, 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 runtime. Это предпочтительный способ инициализации JavaFX в Swing.

  • Подробное описание методов

    • getScene

      public Scene getScene()
      Возвращает присоединенную к этому JFXPanel JavaFX сцену.
      Возвращает:
      присоединенную к этому 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 - событие границ иерархии для обработки
    • processHierarchyEvent

      protected void processHierarchyEvent​(HierarchyEvent e)
      Переопределяет:
      processHierarchyEvent в классе Component
    • processFocusEvent

      protected void processFocusEvent​(FocusEvent e)
      Переопределяет метод Component.processFocusEvent(FocusEvent), чтобы переслать события фокуса присоединенной к этому JFXPanel JavaFX сцене.
      Переопределяет:
      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 для рисования
      См. также:
      isOpaque()
    • getPreferredSize

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

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

      public InputMethodRequests getInputMethodRequests()
      Переопределяет:
      getInputMethodRequests в классе Component
    • removeNotify

      public void removeNotify()
      Уведомляет этот компонент о том, что у него больше нет родительского компонента. При вызове этого метода любые KeyboardActions, настроенные в цепочке родительских компонентов, удаляются.
      Overrides:
      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