Класс 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

Этот класс реализует поддержку доступности для класса 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 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()

Создаёт новый 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, который обрабатывает действия пользовательского интерфейса, специфичные для рабочего стола.

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, который будет обрабатывать действия пользовательского интерфейса, специфичные для рабочего стола.

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, 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

Spec-Zone .ru
спецификации, руководства, описания, API