Spec-Zone.ru › OpenJDK 25

Класс JDesktopPane

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLayeredPane
javax.swing.JDesktopPane
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
@JavaBean(defaultProperty="UI") public class JDesktopPane extends JLayeredPane implements Accessible
Контейнер, используемый для создания интерфейса с несколькими документами или виртуального рабочего стола. Создайте объекты JInternalFrame и добавьте их в JDesktopPane. JDesktopPane расширяет JLayeredPane для управления внутренними окнами, которые могут перекрываться. Он также хранит ссылку на экземпляр DesktopManager, устанавливаемый классом пользовательского интерфейса для текущего внешнего вида (L&F). Обратите внимание, что JDesktopPane не поддерживает границы.

Обычно этот класс используется в качестве родительского для JInternalFrames, чтобы предоставить подключаемый объект DesktopManager для JInternalFrames. installUI реализации, специфичной для L&F, отвечает за надлежащую установку переменной desktopManager. Если родительским элементом JInternalFrame является JDesktopPane, он должен делегировать большую часть своего поведения desktopManager (закрытие, изменение размера и т. д.).

Дополнительную документацию и примеры см. в разделе Использование внутренних окон из Учебника Java.

Предупреждение: Swing не является потокобезопасным. Дополнительные сведения см. в разделе Политика потоков Swing.

Предупреждение: сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

С версии:
1.2
См. также:
  • JInternalFrame
  • JInternalFrame.JDesktopIcon
  • DesktopManager

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  JDesktopPane.AccessibleJDesktopPane
Этот класс реализует поддержку специальных возможностей для класса JDesktopPane.

Вложенные классы и интерфейсы, объявленные в классе JLayeredPane

JLayeredPane.AccessibleJLayeredPane

Вложенные классы и интерфейсы, объявленные в классе JComponent

JComponent.AccessibleJComponent

Вложенные классы и интерфейсы, объявленные в классе Container

Container.AccessibleAWTContainer

Вложенные классы и интерфейсы, объявленные в классе Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Краткое описание полей

Модификатор и тип Поле Описание
static final int LIVE_DRAG_MODE
Указывает, что всё содержимое перетаскиваемого элемента должно отображаться внутри панели рабочего стола.
static final int OUTLINE_DRAG_MODE
Указывает, что внутри панели рабочего стола должен отображаться только контур перетаскиваемого элемента.

Поля, объявленные в классе JLayeredPane

DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER

Поля, объявленные в классе JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, объявленные в классе Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Краткое описание конструкторов

Конструктор Описание
JDesktopPane()
Создаёт новый объект JDesktopPane.

Краткое описание методов

Модификатор и тип Метод Описание
protected void addImpl(Component comp, Object constraints, int index)
Добавляет указанный компонент в этот контейнер по указанному индексу.
AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JDesktopPane.
JInternalFrame[] getAllFrames()
Возвращает все JInternalFrames, отображаемые в данный момент на рабочем столе.
JInternalFrame[] getAllFramesInLayer(int layer)
Возвращает все JInternalFrames, отображаемые в данный момент на указанном слое рабочего стола.
DesktopManager getDesktopManager()
Возвращает DesktopManger, который обрабатывает действия пользовательского интерфейса, специфичные для рабочего стола.
int getDragMode()
Получает текущий «стиль перетаскивания», используемый панелью рабочего стола.
JInternalFrame getSelectedFrame()
Возвращает текущий активный JInternalFrame в этом JDesktopPane или null, если ни один JInternalFrame не активен.
DesktopPaneUI getUI()
Возвращает объект L&F, который отображает этот компонент.
String getUIClassID()
Возвращает имя класса L&F, который отображает этот компонент.
protected String paramString()
Возвращает строковое представление этого JDesktopPane.
void remove(int index)
Удаляет из этой панели компонент с указанным индексом.
void removeAll()
Удаляет все компоненты из этого контейнера.
JInternalFrame selectFrame(boolean forward)
Выбирает следующий JInternalFrame в этой панели рабочего стола.
void setComponentZOrder(Component comp, int index)
Перемещает указанный компонент на заданную позицию z-порядка в контейнере.
void setDesktopManager(DesktopManager d)
Устанавливает DesktopManger, который будет обрабатывать действия пользовательского интерфейса, специфичные для рабочего стола.
void setDragMode(int dragMode)
Устанавливает «стиль перетаскивания», используемый панелью рабочего стола.
void setSelectedFrame(JInternalFrame f)
Устанавливает текущий активный JInternalFrame в этом JDesktopPane.
void setUI(DesktopPaneUI ui)
Устанавливает объект L&F, который отображает этот компонент.
void updateUI()
Уведомление от UIManager об изменении L&F.

Методы, объявленные в классе JLayeredPane

getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, putLayer, setLayer, setLayer, setPosition

Методы, объявленные в классе JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Методы, объявленные в классе Container

add, add, add, add, add, addContainerListener, 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, removeContainerListener, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Методы, объявленные в классе 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, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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

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

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

Подробное описание полей

LIVE_DRAG_MODE

public static final int LIVE_DRAG_MODE
Указывает, что всё содержимое перетаскиваемого элемента должно отображаться внутри панели рабочего стола.
См. также:
  • OUTLINE_DRAG_MODE
  • setDragMode(int)
  • Значения константных полей

OUTLINE_DRAG_MODE

public static final int OUTLINE_DRAG_MODE
Указывает, что внутри панели рабочего стола должен отображаться только контур перетаскиваемого элемента.
См. также:
  • LIVE_DRAG_MODE
  • setDragMode(int)
  • Значения константных полей

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

JDesktopPane

public JDesktopPane()
Создаёт новый объект JDesktopPane.

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

getUI

public DesktopPaneUI getUI()
Возвращает объект L&F, который отображает этот компонент.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект DesktopPaneUI, который отображает этот компонент

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(DesktopPaneUI ui)
Устанавливает объект L&F, который отображает этот компонент.
Параметры:
ui — объект L&F DesktopPaneUI
См. также:
  • UIDefaults.getUI(JComponent)

setDragMode

@BeanProperty(enumerationValues={"JDesktopPane.LIVE_DRAG_MODE","JDesktopPane.OUTLINE_DRAG_MODE"}, description="Dragging style for internal frame children.") public void setDragMode(int dragMode)
Устанавливает «стиль перетаскивания», используемый панелью рабочего стола. По соображениям производительности или эстетики можно выбрать другой режим.
Параметры:
dragMode — стиль перетаскивания, используемый для элементов рабочего стола
С версии:
1.3
См. также:
  • LIVE_DRAG_MODE
  • OUTLINE_DRAG_MODE

getDragMode

public int getDragMode()
Получает текущий «стиль перетаскивания», используемый панелью рабочего стола.
Возвращает:
либо Live_DRAG_MODE, либо OUTLINE_DRAG_MODE
С версии:
1.3
См. также:
  • setDragMode(int)

getDesktopManager

public DesktopManager getDesktopManager()
Возвращает DesktopManger, который обрабатывает действия пользовательского интерфейса, специфичные для рабочего стола.
Возвращает:
DesktopManger, который обрабатывает действия пользовательского интерфейса, специфичные для рабочего стола

setDesktopManager

@BeanProperty(description="Desktop manager to handle the internal frames in the desktop pane.") public void setDesktopManager(DesktopManager d)
Устанавливает DesktopManger, который будет обрабатывать действия пользовательского интерфейса, специфичные для рабочего стола. Этот метод может быть переопределён классом LookAndFeel.
Параметры:
d — используемый DesktopManager

updateUI

public void updateUI()
Уведомление от UIManager об изменении L&F. Заменяет текущий объект пользовательского интерфейса последней версией из UIManager.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.updateUI()

getUIClassID

@BeanProperty(bound=false) public String getUIClassID()
Возвращает имя класса L&F, который отображает этот компонент.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "DesktopPaneUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

getAllFrames

@BeanProperty(bound=false) public JInternalFrame[] getAllFrames()
Возвращает все JInternalFrames, отображаемые в данный момент на рабочем столе. Возвращаются как свёрнутые в значки, так и развёрнутые окна.
Возвращает:
массив объектов JInternalFrame

getSelectedFrame

public JInternalFrame getSelectedFrame()
Возвращает текущий активный JInternalFrame в этом JDesktopPane или null, если ни один JInternalFrame не активен.
Возвращает:
текущий активный JInternalFrame или null
С версии:
1.3

setSelectedFrame

public void setSelectedFrame(JInternalFrame f)
Устанавливает текущий активный JInternalFrame в этом JDesktopPane. Этот метод используется для устранения различий между пакетами JDesktopPane и кодом реализации платформы, поэтому его не следует вызывать напрямую. Чтобы визуально выбрать окно, клиент должен вызвать JInternalFrame.setSelected(true) для его активации.
Параметры:
f — внутреннее окно, выбранное в данный момент
С версии:
1.3
См. также:
  • JInternalFrame.setSelected(boolean)

getAllFramesInLayer

public JInternalFrame[] getAllFramesInLayer(int layer)
Возвращает все JInternalFrames, отображаемые в данный момент на указанном слое рабочего стола. Возвращаются как свёрнутые в значки, так и развёрнутые окна.
Параметры:
layer — значение int, задающее слой рабочего стола
Возвращает:
массив объектов JInternalFrame
См. также:
  • JLayeredPane

selectFrame

public JInternalFrame selectFrame(boolean forward)
Выбирает следующее JInternalFrame в этой панели рабочего стола.
Параметры:
forward — логическое значение, указывающее направление выбора; true — вперёд, false — назад
Возвращает:
выбранное JInternalFrame или null, если ничего не выбрано
С версии:
1.6

addImpl

protected void addImpl(Component comp, Object constraints, int index)
Добавляет указанный компонент в этот контейнер по указанному индексу. Этот метод также уведомляет менеджер компоновки о необходимости добавить компонент в компоновку контейнера с использованием указанного объекта ограничений посредством метода addLayoutComponent.

Ограничения определяются используемым менеджером компоновки. Например, класс BorderLayout определяет пять ограничений: BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST, BorderLayout.WEST и BorderLayout.CENTER.

Класс GridBagLayout требует объект GridBagConstraints. Передача объекта ограничений неверного типа приводит к IllegalArgumentException.

Если текущий менеджер компоновки реализует LayoutManager2, для него вызывается LayoutManager2.addLayoutComponent(Component,Object). Если текущий менеджер компоновки не реализует LayoutManager2, а ограничения имеют тип String, для него вызывается LayoutManager.addLayoutComponent(String,Component).

Если компонент не является предком этого контейнера и имеет ненулевой родительский элемент, он удаляется из текущего родительского элемента перед добавлением в этот контейнер.

Если программе необходимо отслеживать каждый запрос на добавление в контейнер, следует переопределить этот метод, поскольку все остальные методы добавления делегируют ему выполнение. Переопределяющий метод обычно должен вызывать версию метода суперкласса:

super.addImpl(comp, constraints, index)

Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображён, после этого необходимо проверить иерархию, чтобы отобразить добавленный компонент.

Переопределяет:
addImpl в классе Container
Параметры:
comp — добавляемый компонент
constraints — объект, задающий ограничения компоновки для этого компонента
index — позиция в списке контейнера, в которую следует вставить компонент; значение -1 означает добавление в конец
С версии:
1.6
См. также:
  • Container.add(Component)
  • Container.add(Component, int)
  • Container.add(Component, java.lang.Object)
  • Container.invalidate()
  • LayoutManager
  • LayoutManager2

remove

public void remove(int index)
Удаляет из этой панели компонент с указанным индексом. Используется абсолютный индекс, не учитывающий слои.
Переопределяет:
remove в классе JLayeredPane
Параметры:
index — значение int, задающее удаляемый компонент
С версии:
1.6
См. также:
  • JLayeredPane.getIndexOf(Component)

removeAll

public void removeAll()
Удаляет все компоненты из этого контейнера.
Переопределяет:
removeAll в классе JLayeredPane
С версии:
1.6
См. также:
  • Container.add(Component)
  • Container.remove(int)
  • Container.invalidate()

setComponentZOrder

public void setComponentZOrder(Component comp, int index)
Перемещает указанный компонент на заданную позицию z-порядка в контейнере. Z-порядок определяет порядок отрисовки компонентов: компонент с наивысшим z-порядком отрисовывается первым, а с наименьшим — последним. Если компоненты перекрываются, компонент с меньшим z-порядком отрисовывается поверх компонента с большим z-порядком.

Если компонент является дочерним элементом другого контейнера, он удаляется из этого контейнера перед добавлением в текущий. Важное отличие этого метода от java.awt.Container.add(Component, int) состоит в том, что при удалении компонента из предыдущего контейнера этот метод не вызывает removeNotify, если в этом нет необходимости и базовая оконная система это позволяет. Таким образом, если компонент находится в фокусе клавиатуры, он сохраняет фокус при перемещении на новую позицию.

Это свойство гарантированно применимо только к лёгковесным компонентам, не являющимся Container.

Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.

Примечание: Не все платформы поддерживают изменение z-порядка тяжеловесных компонентов при перемещении из одного контейнера в другой без вызова removeNotify. Определить, поддерживает ли это платформа, невозможно, поэтому разработчикам не следует делать никаких предположений.

Переопределяет:
setComponentZOrder в классе Container
Параметры:
comp — перемещаемый компонент
index — позиция в списке контейнера для вставки компонента; значение getComponentCount() означает добавление в конец
С версии:
1.6
См. также:
  • Container.getComponentZOrder(java.awt.Component)
  • Container.invalidate()

paramString

protected String paramString()
Возвращает строковое представление этого JDesktopPane. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
Переопределяет:
paramString в классе JLayeredPane
Возвращает:
строковое представление этого JDesktopPane

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JDesktopPane. Для панелей рабочего стола AccessibleContext представляет собой AccessibleJDesktopPane. При необходимости создаётся новый экземпляр AccessibleJDesktopPane.
Определён в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе JLayeredPane
Возвращает:
AccessibleJDesktopPane, выступающий в качестве AccessibleContext этого JDesktopPane

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/JDesktopPane.html

Spec-Zone.ru

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