Класс 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.
Предупреждение: Swing не потокобезопасен. Дополнительную информацию см. в Политике потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с той же версией Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. См. XMLEncoder.
- С тех пор:
- 1.2
- См. также:
-
JInternalFrame,JInternalFrame.JDesktopIcon,DesktopManager, Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class | JDesktopPane.AccessibleJDesktopPane | Этот класс реализует поддержку доступности для класса |
Вложенные классы/интерфейсы, объявленные в классе 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 int | LIVE_DRAG_MODE | Указывает, что всё содержимое перетаскиваемого элемента должно отображаться внутри панели рабочего стола. |
static 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() | Создаёт новый |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void | addImpl(Component comp,
Object constraints,
int index) | Добавляет указанный компонент в этот контейнер в указанном индексе. |
AccessibleContext | getAccessibleContext() | Получает |
JInternalFrame[] | getAllFrames() | Возвращает все |
JInternalFrame[] | getAllFramesInLayer(int layer) | Возвращает все |
DesktopManager | getDesktopManager() | Возвращает |
int | getDragMode() | Получает текущий "стиль перетаскивания", используемый панелью рабочего стола. |
JInternalFrame | getSelectedFrame() | Возвращает текущий активный |
DesktopPaneUI | getUI() | Возвращает объект L&F, который отображает этот компонент. |
String | getUIClassID() | Возвращает имя класса L&F, который отображает этот компонент. |
protected String | paramString() | Возвращает строковое представление этого |
void | remove(int index) | Удаляет компонент с указанным индексом из этой панели. |
void | removeAll() | Удаляет все компоненты из этого контейнера. |
JInternalFrame | selectFrame(boolean forward) | Выбирает следующий |
void | setComponentZOrder(Component comp,
int index) | Перемещает указанный компонент в указанный индекс порядка z в контейнере. |
void | setDesktopManager(DesktopManager d) | Устанавливает |
void | setDragMode(int dragMode) | Устанавливает "стиль перетаскивания", используемый панелью рабочего стола. |
void | setSelectedFrame(JInternalFrame f) | Устанавливает текущий активный |
void | setUI(DesktopPaneUI ui) | Устанавливает объект L&F, который отображает этот компонент. |
void | updateUI() | Уведомление от |
Методы, объявленные в классе 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, 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, hide, 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)
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображён, иерархия должна быть проверена после этого, чтобы отобразить добавленный компонент.
- Переопределяет:
-
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- целое число, определяющее удаляемый компонент - С:
- 1.6
- См. также:
JLayeredPane.getIndexOf(java.awt.Component)
removeAll
public void removeAll()
Удаляет все компоненты из этого контейнера.
- Переопределяет:
-
removeAllв классеJLayeredPane - С:
- 1.6
- См. также:
-
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. Нет способа определить, поддерживает ли это платформа, поэтому разработчики не должны делать никаких предположений.
- Переопределяет:
-
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
© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/JDesktopPane.html