Класс 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
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 |
Добавляет указанный компонент в этот контейнер по указанному индексу. |
AccessibleContext |
getAccessibleContext() |
Получает AccessibleContext, связанный с этим JDesktopPane. |
JInternalFrame[] |
getAllFrames() |
Возвращает все JInternalFrames, отображаемые в данный момент на рабочем столе. |
JInternalFrame[] |
getAllFramesInLayer |
Возвращает все 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 |
Удаляет из этой панели компонент с указанным индексом. |
void |
removeAll() |
Удаляет все компоненты из этого контейнера. |
JInternalFrame |
selectFrame |
Выбирает следующий JInternalFrame в этой панели рабочего стола. |
void |
setComponentZOrder |
Перемещает указанный компонент на заданную позицию z-порядка в контейнере. |
void |
setDesktopManager |
Устанавливает DesktopManger, который будет обрабатывать действия пользовательского интерфейса, специфичные для рабочего стола. |
void |
setDragMode |
Устанавливает «стиль перетаскивания», используемый панелью рабочего стола. |
void |
setSelectedFrame |
Устанавливает текущий активный JInternalFrame в этом JDesktopPane. |
void |
setUI |
Устанавливает объект 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
Подробное описание полей
LIVE_DRAG_MODE
public static final int LIVE_DRAG_MODE
- См. также:
OUTLINE_DRAG_MODE
public static final int OUTLINE_DRAG_MODE
- См. также:
Подробное описание конструкторов
JDesktopPane
public JDesktopPane()
JDesktopPane.Подробное описание методов
getUI
public DesktopPaneUI getUI()
- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- объект
DesktopPaneUI, который отображает этот компонент
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(DesktopPaneUI ui)
- Параметры:
-
ui— объект L&F DesktopPaneUI - См. также:
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
- См. также:
getDragMode
public int getDragMode()
- Возвращает:
- либо
Live_DRAG_MODE, либоOUTLINE_DRAG_MODE - С версии:
- 1.3
- См. также:
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 - См. также:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "DesktopPaneUI"
- См. также:
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
- См. также:
getAllFramesInLayer
public JInternalFrame[] getAllFramesInLayer(int layer)
JInternalFrames, отображаемые в данный момент на указанном слое рабочего стола. Возвращаются как свёрнутые в значки, так и развёрнутые окна.- Параметры:
-
layer— значение int, задающее слой рабочего стола - Возвращает:
- массив объектов
JInternalFrame - См. также:
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) Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображён, после этого необходимо проверить иерархию, чтобы отобразить добавленный компонент.
remove
public void remove(int index)
- Переопределяет:
-
removeв классеJLayeredPane - Параметры:
-
index— значение int, задающее удаляемый компонент - С версии:
- 1.6
- См. также:
removeAll
public void removeAll()
- Переопределяет:
-
removeAllв классеJLayeredPane - С версии:
- 1.6
- См. также:
setComponentZOrder
public void setComponentZOrder(Component comp, int index)
Если компонент является дочерним элементом другого контейнера, он удаляется из этого контейнера перед добавлением в текущий. Важное отличие этого метода от java.awt.Container.add(Component, int) состоит в том, что при удалении компонента из предыдущего контейнера этот метод не вызывает removeNotify, если в этом нет необходимости и базовая оконная система это позволяет. Таким образом, если компонент находится в фокусе клавиатуры, он сохраняет фокус при перемещении на новую позицию.
Это свойство гарантированно применимо только к лёгковесным компонентам, не являющимся Container.
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.
Примечание: Не все платформы поддерживают изменение z-порядка тяжеловесных компонентов при перемещении из одного контейнера в другой без вызова removeNotify. Определить, поддерживает ли это платформа, невозможно, поэтому разработчикам не следует делать никаких предположений.
- Переопределяет:
-
setComponentZOrderв классеContainer - Параметры:
-
comp— перемещаемый компонент -
index— позиция в списке контейнера для вставки компонента; значениеgetComponentCount()означает добавление в конец - С версии:
- 1.6
- См. также:
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
© 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