Spec-Zone.ru › OpenJavaFX 8
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-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()
    Сообщает этому компоненту, что у него теперь есть родительский компонент.
    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, 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
    • Методы, унаследованные от класса 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), чтобы отправлять событие мыши в сцену 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, в котором нужно рисовать

      См. также:

      isOpaque()

    • 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.

Spec-Zone.ru

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