Класс JDesktopPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLayeredPane
-
- javax.swing.JDesktopPane
- Все реализованные интерфейсы:
- ImageObserver, MenuContainer, Serializable, Accessible
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.
- См. также:
-
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(Component comp) Удаляет указанный компонент из этого контейнера. |
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, 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, 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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, который отображает этот компонент.
- Возвращает:
- объект
DesktopPaneUI, который отображает этот компонент
setUI
public void setUI(DesktopPaneUI ui)
Устанавливает объект L&F, который отображает этот компонент.
- Параметры:
-
ui- объект DesktopPaneUI L&F - См. также:
UIDefaults.getUI(javax.swing.JComponent)
setDragMode
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, специфичные для рабочего стола.
setDesktopManager
public void setDesktopManager(DesktopManager d)
Устанавливает DesktopManger, который будет обрабатывать действия UI, специфичные для рабочего стола. Может быть переопределён LookAndFeel.
- Параметры:
-
d- используемыйDesktopManager
updateUI
public void updateUI()
Уведомление от UIManager, что изменился L&F. Заменяет текущий объект UI на последнюю версию из UIManager.
- Переопределяет:
-
updateUIв классеJComponent - См. также:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
Возвращает имя класса L&F, который отображает этот компонент.
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "DesktopPaneUI"
- См. также:
-
JComponent.getUIClassID(),UIDefaults.getUI(javax.swing.JComponent)
getAllFrames
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
remove
public void remove(Component comp)
Удаляет указанный компонент из этого контейнера. Этот метод также уведомляет менеджер компоновки о необходимости удаления компонента из компоновки этого контейнера через метод removeLayoutComponent.
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображён, иерархия должна быть проверена после этого, чтобы отразить изменения.
- Переопределяет:
-
removeв классеContainer - Параметры:
-
comp- компонент, который нужно удалить - См. также:
-
Container.add(java.awt.Component),Container.invalidate(),Container.validate(),Container.remove(int)
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в классеJLayeredPane - Параметры:
-
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
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.