Spec-Zone.ru › OpenJDK 24

Класс 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, который устанавливается классом UI для текущего внешнего вида (L&F). Обратите внимание, что JDesktopPane не поддерживает рамки.

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

Для более подробной документации и примеров см. Как использовать внутренние фреймы, раздел в Java Tutorial.

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

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

С:
1.2
См. также:
  • JInternalFrame
  • JInternalFrame.JDesktopIcon
  • DesktopManager

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

Модификатор и тип Класс Описание
protected class  JDesktopPane.AccessibleJDesktopPane
Этот класс реализует поддержку доступности для класса JDesktopPane.

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

JLayeredPane.AccessibleJLayeredPane

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

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

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

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

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

Поля, объявленные в классе 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

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

Конструктор Описание
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, обрабатывающий действия UI, специфичные для рабочего стола.
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, который будет обрабатывать действия UI, специфичные для рабочего стола.
void setDragMode(int dragMode)
Устанавливает "стиль перетаскивания", используемый панелью рабочего стола.
void setSelectedFrame(JInternalFrame f)
Устанавливает текущий активный JInternalFrame в этом JDesktopPane.
void setUI(DesktopPaneUI ui)
Устанавливает объект L&F, который будет отрисовывать этот компонент.
void updateUI()
Уведомление от UIManager о том, что L&F изменился.

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

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

Методы, объявленные в классе javax.swing.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

Методы, объявленные в классе java.awt.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

Методы, объявленные в классе 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, 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

Методы, объявленные в классе java.lang.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(javax.swing.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, который обрабатывает действия UI, специфичные для рабочего стола.
Возвращает:
DesktopManger, который обрабатывает действия UI, специфичные для рабочего стола

setDesktopManager

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

updateUI

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

getUIClassID

@BeanProperty(bound=false) public String getUIClassID()
Возвращает имя класса L&F, который отрисовывает этот компонент.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
"DesktopPaneUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(javax.swing.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 - целое число, определяющее слой рабочего стола
Возвращает:
массив объектов 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, и constraints является объектом типа String, то вызывается LayoutManager.addLayoutComponent(String,Component).

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

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

super.addImpl(comp, constraints, index)

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

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

remove

public void remove(int index)
Удаляет компонент с указанным индексом из этой панели. Это абсолютный индекс, игнорируя слои.
Overrides:
remove в классе JLayeredPane
Parameters:
index - целое число, определяющее компонент для удаления
Since:
1.6
See Also:
  • JLayeredPane.getIndexOf(java.awt.Component)

removeAll

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

setComponentZOrder

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

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

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

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

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

Overrides:
setComponentZOrder в классе Container
Parameters:
comp - перемещаемый компонент
index - позиция в списке контейнера для вставки компонента, где getComponentCount() добавляет в конец
Since:
1.6
See Also:
  • Container.getComponentZOrder(java.awt.Component)
  • Container.invalidate()

paramString

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

getAccessibleContext

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/JDesktopPane.html

Spec-Zone.ru

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