Класс 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
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 |
Добавляет указанный компонент в этот контейнер в указанном индексе. |
AccessibleContext |
getAccessibleContext() |
Возвращает AccessibleContext, связанный с этим JDesktopPane. |
JInternalFrame[] |
getAllFrames() |
Возвращает все JInternalFrames, отображаемые в настоящее время на рабочем столе. |
JInternalFrame[] |
getAllFramesInLayer |
Возвращает все 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 |
Удаляет компонент с указанным индексом из этой панели. |
void |
removeAll() |
Удаляет все компоненты из этого контейнера. |
JInternalFrame |
selectFrame |
Выбирает следующий JInternalFrame на этой панели рабочего стола. |
void |
setComponentZOrder |
Перемещает указанный компонент в указанный индекс порядка z в контейнере. |
void |
setDesktopManager |
Устанавливает DesktopManger, который будет обрабатывать действия UI, специфичные для рабочего стола. |
void |
setDragMode |
Устанавливает "стиль перетаскивания", используемый панелью рабочего стола. |
void |
setSelectedFrame |
Устанавливает текущий активный JInternalFrame в этом JDesktopPane. |
void |
setUI |
Устанавливает объект 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
Подробное описание полей
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, который обрабатывает действия 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 - См. также:
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- целое число, определяющее слой рабочего стола - Возвращает:
- массив объектов
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, и constraints является объектом типа String, то вызывается LayoutManager.addLayoutComponent(String,Component).
Если компонент не является предком этого контейнера и имеет родителя, отличный от null, он удаляется из своего текущего родителя перед добавлением в этот контейнер.
Этот метод нужно переопределять, если программе необходимо отслеживать каждый запрос на добавление в контейнер, поскольку все другие методы добавления делегируют этому. Переопределяемый метод обычно должен включать вызов версии метода суперкласса:
super.addImpl(comp, constraints, index) Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть валидирована после этого для отображения добавленного компонента.
remove
public void remove(int index)
- Overrides:
-
removeв классеJLayeredPane - Parameters:
-
index- целое число, определяющее компонент для удаления - Since:
- 1.6
- See Also:
removeAll
public void removeAll()
- Overrides:
-
removeAllв классеJLayeredPane - Since:
- 1.6
- See Also:
setComponentZOrder
public void setComponentZOrder(Component comp, int index)
Если компонент является дочерним элементом другого контейнера, он удаляется из этого контейнера перед добавлением в этот контейнер. Важное различие между этим методом и java.awt.Container.add(Component, int) заключается в том, что этот метод не вызывает removeNotify для компонента при его удалении из предыдущего контейнера, если это не необходимо и разрешено базовой системой окон. Таким образом, если компонент имеет фокус ввода, он сохраняет фокус при перемещении в новую позицию.
Это свойство гарантируется только для лёгких компонентов, не являющихся Container.
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов.
Примечание: Не все платформы поддерживают изменение порядка z тяжеловесных компонентов из одного контейнера в другой без вызова removeNotify. Нет способа определить, поддерживает ли платформа это, поэтому разработчики не должны делать предположений.
- Overrides:
-
setComponentZOrderв классеContainer - Parameters:
-
comp- перемещаемый компонент -
index- позиция в списке контейнера для вставки компонента, гдеgetComponentCount()добавляет в конец - Since:
- 1.6
- See Also:
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