Класс Container
- Все реализуемые интерфейсы:
ImageObserver, MenuContainer, Serializable
- Прямые известные подклассы:
BasicSplitPaneDivider, CellRendererPane, DefaultTreeCellEditor.EditorContainer, JComponent, Panel, ScrollPane, Window
public class Container extends Component
Компоненты, добавленные в контейнер, хранятся в списке. Порядок элементов списка определяет порядок наложения компонентов в контейнере — от переднего плана к заднему. Если при добавлении компонента в контейнер индекс не указан, он будет добавлен в конец списка (и, следовательно, окажется внизу порядка наложения).
Примечание: Подробную информацию о подсистеме фокуса см. в разделе Как использовать подсистему фокуса руководства Учебник по Java, а также в спецификации фокуса.
- Начиная с:
- 1.0
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
Container.AccessibleAWTContainer |
Внутренний класс Container, обеспечивающий поддержку специальных возможностей по умолчанию. |
Вложенные классы и интерфейсы, объявленные в классе Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
Поля, объявленные в классе Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Container() |
Создает новый Container. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Component |
add |
Добавляет указанный компонент в конец этого контейнера. |
Component |
add |
Добавляет указанный компонент в этот контейнер в заданную позицию. |
void |
add |
Добавляет указанный компонент в конец этого контейнера. |
void |
add |
Добавляет указанный компонент в этот контейнер с заданными ограничениями по указанному индексу. |
Component |
add |
Добавляет указанный компонент в этот контейнер. |
void |
addContainerListener |
Добавляет указанный прослушиватель контейнера, чтобы получать события контейнера от этого контейнера. |
protected void |
addImpl |
Добавляет указанный компонент в этот контейнер по заданному индексу. |
void |
addNotify() |
Делает этот Container отображаемым, подключая его к собственному экранному ресурсу. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список прослушивателей. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список прослушивателей для указанного свойства. |
void |
applyComponentOrientation |
Задает свойство ComponentOrientation этого контейнера и всех содержащихся в нем компонентов. |
boolean |
areFocusTraversalKeysSet |
Возвращает, был ли явно определен для этого Container набор клавиш перехода фокуса для указанной операции перехода фокуса. |
int |
countComponents() |
Устарело. Начиная с JDK версии 1.1 заменен методом getComponentCount(). |
void |
deliverEvent |
Устарело. Начиная с JDK версии 1.1 заменен методом dispatchEvent(AWTEvent e)
|
void |
doLayout() |
Заставляет этот контейнер выполнить компоновку своих компонентов. |
Component |
findComponentAt |
Находит видимый дочерний компонент, содержащий указанную позицию. |
Component |
findComponentAt |
Находит видимый дочерний компонент, содержащий указанную точку. |
float |
getAlignmentX() |
Возвращает выравнивание по оси x. |
float |
getAlignmentY() |
Возвращает выравнивание по оси y. |
Component |
getComponent |
Получает n-й компонент этого контейнера. |
Component |
getComponentAt |
Находит компонент, содержащий позицию x,y. |
Component |
getComponentAt |
Получает компонент, содержащий указанную точку. |
int |
getComponentCount() |
Получает количество компонентов в этой панели. |
Component[] |
getComponents() |
Получает все компоненты этого контейнера. |
int |
getComponentZOrder |
Возвращает индекс z-порядка компонента внутри контейнера. |
ContainerListener[] |
getContainerListeners() |
Возвращает массив всех прослушивателей контейнера, зарегистрированных в этом контейнере. |
Set |
getFocusTraversalKeys |
Возвращает набор клавиш перехода фокуса для заданной операции перехода в этом Container. |
FocusTraversalPolicy |
getFocusTraversalPolicy() |
Возвращает политику перехода фокуса, управляющую перемещением клавиатурного фокуса между дочерними элементами этого Container, или null, если этот Container не является корнем цикла фокуса. |
Insets |
getInsets() |
Определяет внутренние отступы этого контейнера, указывающие размер его границы. |
LayoutManager |
getLayout() |
Получает менеджер компоновки этого контейнера. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в данный момент как FooListeners для этого Container. |
Dimension |
getMaximumSize() |
Возвращает максимальный размер этого контейнера. |
Dimension |
getMinimumSize() |
Возвращает минимальный размер этого контейнера. |
Point |
getMousePosition |
Возвращает положение указателя мыши в системе координат этого Container, если указатель находится над Container; в противном случае возвращает null. |
Dimension |
getPreferredSize() |
Возвращает предпочтительный размер этого контейнера. |
Insets |
insets() |
Устарело. Начиная с JDK версии 1.1 заменен методом getInsets(). |
void |
invalidate() |
Помечает контейнер как недействительный. |
boolean |
isAncestorOf |
Проверяет, содержится ли компонент в иерархии компонентов этого контейнера. |
boolean |
isFocusCycleRoot() |
Возвращает, является ли этот Container корнем цикла перехода фокуса. |
boolean |
isFocusCycleRoot |
Возвращает, является ли указанный Container корнем цикла фокуса для цикла перехода фокуса этого Container. |
final boolean |
isFocusTraversalPolicyProvider() |
Возвращает, предоставляет ли этот контейнер политику перехода фокуса. |
boolean |
isFocusTraversalPolicySet() |
Возвращает, была ли политика перехода фокуса явно задана для этого Container. |
boolean |
isValidateRoot() |
Показывает, является ли этот контейнер корнем проверки. |
void |
layout() |
Устарело. Начиная с JDK версии 1.1 заменен методом doLayout(). |
void |
list |
Выводит список содержимого этого контейнера в указанный выходной поток. |
void |
list |
Выводит список с заданным отступом в указанный объект записи для печати. |
Component |
locate |
Устарело. Начиная с JDK версии 1.1 заменен методом getComponentAt(int, int). |
Dimension |
minimumSize() |
Устарело. Начиная с JDK версии 1.1 заменен методом getMinimumSize(). |
void |
paint |
Отрисовывает контейнер. |
void |
paintComponents |
Отрисовывает каждый компонент этого контейнера. |
protected String |
paramString() |
Возвращает строку, представляющую состояние этого Container. |
Dimension |
preferredSize() |
Устарело. Начиная с JDK версии 1.1 заменен методом getPreferredSize(). |
void |
print |
Печатает контейнер. |
void |
printComponents |
Печатает каждый компонент этого контейнера. |
protected void |
processContainerEvent |
Обрабатывает события контейнера, возникающие в этом контейнере, передавая их всем зарегистрированным объектам ContainerListener. |
protected void |
processEvent |
Обрабатывает события этого контейнера. |
void |
remove |
Удаляет из этого контейнера компонент, указанный параметром index. |
void |
remove |
Удаляет указанный компонент из этого контейнера. |
void |
removeAll() |
Удаляет все компоненты из этого контейнера. |
void |
removeContainerListener |
Удаляет указанный прослушиватель контейнера, чтобы он больше не получал события контейнера от этого контейнера. |
void |
removeNotify() |
Делает этот Container неотображаемым, разрывая соединение с его собственным экранным ресурсом. |
void |
setComponentZOrder |
Перемещает указанный компонент на заданный индекс z-порядка в контейнере. |
void |
setFocusCycleRoot |
Задает, является ли этот Container корнем цикла перехода фокуса. |
void |
setFocusTraversalKeys |
Задает набор клавиш перехода фокуса для указанной операции перехода в этом Container. |
void |
setFocusTraversalPolicy |
Задает политику перехода фокуса, управляющую перемещением клавиатурного фокуса между дочерними элементами этого Container, если он является корнем цикла фокуса. |
final void |
setFocusTraversalPolicyProvider |
Задает, будет ли этот контейнер использоваться для предоставления политики перехода фокуса. |
void |
setFont |
Задает шрифт этого контейнера. |
void |
setLayout |
Задает менеджер компоновки этого контейнера. |
void |
transferFocusDownCycle() |
Переводит фокус на один цикл перехода вниз. |
void |
update |
Обновляет контейнер. |
void |
validate() |
Проверяет этот контейнер и все его подкомпоненты. |
protected void |
validateTree() |
Рекурсивно обходит дерево контейнеров и заново вычисляет компоновку всех поддеревьев, для которых она требуется (помеченных как недействительные). |
Методы, объявленные в классе Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Подробное описание конструкторов
Container
public Container()
Подробное описание методов
getComponentCount
public int getComponentCount()
Примечание: этот метод следует вызывать при захваченной блокировке дерева AWT.
- Возвращает:
- количество компонентов в этой панели.
- Начиная с версии:
- 1.1
- См. также:
countComponents
@Deprecated public int countComponents()
- Возвращает:
- количество компонентов в этом контейнере
getComponent
public Component getComponent(int n)
Примечание: этот метод следует вызывать при захваченной блокировке дерева AWT.
- Параметры:
-
n— индекс компонента, который требуется получить. - Возвращает:
- n-й компонент этого контейнера.
- Вызывает исключение:
-
ArrayIndexOutOfBoundsException— если n-го значения не существует. - См. также:
getComponents
public Component[] getComponents()
Примечание: этот метод следует вызывать при захваченной блокировке дерева AWT.
- Возвращает:
- массив всех компонентов этого контейнера.
- См. также:
getInsets
public Insets getInsets()
Например, у объекта Frame верхний отступ соответствует высоте строки заголовка окна.
- Возвращает:
- внутренние отступы этого контейнера.
- Начиная с версии:
- 1.1
- См. также:
insets
@Deprecated public Insets insets()
getInsets().- Возвращает:
- внутренние отступы этого контейнера
add
public Component add(Component comp)
addImpl(Component, Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
comp— добавляемый компонент - Возвращает:
- аргумент-компонент
- Вызывает исключение:
-
NullPointerException— еслиcompравенnull - См. также:
add
public Component add(String name, Component comp)
addImpl(Component, Object, int). Этот метод устарел начиная с версии 1.1. Вместо него используйте метод add(Component, Object).
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
name— имя добавляемого компонента -
comp— добавляемый компонент - Возвращает:
- добавленный компонент
- Вызывает исключение:
-
NullPointerException— еслиcompравенnull - См. также:
add
public Component add(Component comp, int index)
addImpl(Component, Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
comp— добавляемый компонент -
index— позиция, в которую следует вставить компонент, или-1, чтобы добавить компонент в конец - Возвращает:
- компонент
comp - Вызывает исключение:
-
NullPointerException— еслиcompравенnull -
IllegalArgumentException— еслиindexнедопустим (подробности см. вaddImpl(Component, Object, int)) - См. также:
setComponentZOrder
public void setComponentZOrder(Component comp, int index)
Если компонент является дочерним элементом другого контейнера, он удаляется из этого контейнера перед добавлением в текущий. Важное отличие этого метода от java.awt.Container.add(Component, int) заключается в том, что при удалении компонента из предыдущего контейнера этот метод не вызывает removeNotify для компонента, если только это не необходимо и не разрешено базовой оконной системой. Благодаря этому компонент сохраняет фокус клавиатуры, если он имел его до перемещения на новую позицию.
Это свойство гарантированно применяется только к легковесным компонентам, не являющимся Container.
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.
Примечание: Не все платформы поддерживают изменение z-порядка тяжеловесных компонентов при перемещении из одного контейнера в другой без вызова removeNotify. Определить, поддерживает ли это платформа, невозможно, поэтому разработчикам не следует делать никаких предположений.
- Параметры:
-
comp— перемещаемый компонент -
index— позиция в списке контейнера, в которую следует вставить компонент;getComponentCount()добавляет компонент в конец - Вызывает исключение:
-
NullPointerException— еслиcompравенnull -
IllegalArgumentException— еслиcompявляется одним из родительских контейнеров -
IllegalArgumentException— еслиindexнаходится вне диапазона[0, getComponentCount()]при перемещении между контейнерами или вне диапазона[0, getComponentCount()-1]при перемещении внутри контейнера -
IllegalArgumentException— при добавлении контейнера в него самого -
IllegalArgumentException— при добавленииWindowв контейнер - Начиная с версии:
- 1.5
- См. также:
getComponentZOrder
public int getComponentZOrder(Component comp)
- Параметры:
-
comp— компонент, индекс которого запрашивается - Возвращает:
- индекс z-порядка компонента; в противном случае возвращает -1, если компонент
nullили не принадлежит контейнеру - Начиная с версии:
- 1.5
- См. также:
add
public void add(Component comp, Object constraints)
addImpl(Component, Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
comp— добавляемый компонент -
constraints— объект, задающий ограничения компоновки для этого компонента - Вызывает исключение:
-
NullPointerException— еслиcompравенnull - Начиная с версии:
- 1.1
- См. также:
add
public void add(Component comp, Object constraints, int index)
addImpl(Component, Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
comp— добавляемый компонент -
constraints— объект, задающий ограничения компоновки для этого компонента -
index— позиция в списке контейнера, в которую следует вставить компонент;-1означает вставку компонента в конец - Вызывает исключение:
-
NullPointerException— еслиcompравенnull -
IllegalArgumentException— еслиindexнедопустим (подробности см. вaddImpl(Component, Object, int)) - См. также:
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).
Если компонент не является предком этого контейнера и имеет ненулевой родительский контейнер, перед добавлением в этот контейнер он удаляется из текущего родительского контейнера.
Этот метод следует переопределить, если программе необходимо отслеживать каждый запрос на добавление компонента в контейнер, поскольку все остальные методы добавления делегируют вызов этому методу. Переопределяющий метод обычно должен включать вызов версии метода суперкласса:
super.addImpl(comp, constraints, index) Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы отображался добавленный компонент.
- Параметры:
-
comp— добавляемый компонент -
constraints— объект, задающий ограничения компоновки для этого компонента -
index— позиция в списке контейнера, в которую следует вставить компонент;-1означает добавление в конец - Вызывает исключение:
-
IllegalArgumentException— еслиindexнедопустим; еслиcompявляется дочерним элементом этого контейнера, допустимый диапазон —[-1, getComponentCount()-1]; если компонент не является дочерним элементом этого контейнера, допустимый диапазон —[-1, getComponentCount()] -
IllegalArgumentException— еслиcompявляется предком этого контейнера -
IllegalArgumentException— при добавлении окна в контейнер -
NullPointerException— еслиcompравенnull - Начиная с версии:
- 1.1
- См. также:
remove
public void remove(int index)
index. Этот метод также уведомляет менеджер компоновки об удалении компонента из компоновки контейнера с помощью метода removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы изменения вступили в силу.
- Параметры:
-
index— индекс удаляемого компонента - Вызывает исключение:
-
ArrayIndexOutOfBoundsException— еслиindexне входит в диапазон[0, getComponentCount()-1] - Начиная с версии:
- 1.1
- См. также:
remove
public void remove(Component comp)
removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы изменения вступили в силу.
- Параметры:
-
comp— удаляемый компонент - Вызывает исключение:
-
NullPointerException— еслиcompравенnull - См. также:
removeAll
public void removeAll()
removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной. Если контейнер уже отображен, после этого необходимо проверить иерархию, чтобы изменения вступили в силу.
- См. также:
getLayout
public LayoutManager getLayout()
- Возвращает:
- текущий менеджер компоновки этого контейнера
- См. также:
setLayout
public void setLayout(LayoutManager mgr)
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.
- Параметры:
-
mgr— указанный менеджер компоновки - См. также:
doLayout
layout
isValidateRoot
public boolean isValidateRoot()
Изменения, связанные с компоновкой, например изменение границ потомков корня проверки, не влияют на компоновку родительского контейнера корня проверки. Эта особенность позволяет методу invalidate() прекращать инвалидацию иерархии компонентов при обнаружении корня проверки. Однако для сохранения обратной совместимости это новое оптимизированное поведение включается только в том случае, если значение системного свойства java.awt.smartInvalidate установлено в true.
Если иерархия компонентов содержит корни проверки и включено новое оптимизированное поведение invalidate(), для последующего восстановления корректности иерархии необходимо вызвать метод validate() у корня проверки ранее недействительного компонента. В противном случае для восстановления корректности иерархии компонентов следует вызвать метод validate() у контейнера верхнего уровня (например, объекта Frame).
Классы Window и Applet являются корнями проверки в AWT. В Swing есть и другие корни проверки.
- Возвращает:
- является ли этот контейнер корнем проверки
- Начиная с версии:
- 1.7
- См. также:
invalidate
public void invalidate()
Если установленный для этого контейнера LayoutManager является экземпляром интерфейса LayoutManager2, для него вызывается метод LayoutManager2.invalidateLayout(Container), которому в качестве аргумента передается этот Container.
Затем этот метод помечает контейнер как недействительный и инвалидирует его предков. Дополнительные сведения см. в методе Component.invalidate().
- Переопределяет:
-
invalidateв классеComponent - См. также:
validate
public void validate()
Проверка контейнера означает выполнение компоновки его подкомпонентов. Изменения, связанные с компоновкой, например установка границ компонента или добавление компонента в контейнер, автоматически делают контейнер недействительным. Обратите внимание, что могут быть также инвалидированы предки контейнера (подробности см. в Component.invalidate()). Поэтому для восстановления корректности иерархии следует вызвать метод
validate() у самого верхнего недействительного контейнера в иерархии.
Проверка контейнера может быть довольно ресурсоемкой операцией. Для повышения производительности разработчик может отложить проверку иерархии до завершения набора операций, связанных с компоновкой, например до добавления всех дочерних компонентов в контейнер.
Если этот Container недействителен, этот метод вызывает метод validateTree и помечает этот Container как действительный. В противном случае никаких действий не выполняется.
validateTree
protected void validateTree()
validate.- См. также:
setFont
public void setFont(Font f)
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.
getPreferredSize
public Dimension getPreferredSize()
Component.setPreferredSize(Dimension) и этот Container имеет non-null LayoutManager, то для вычисления предпочтительного размера используется LayoutManager.preferredLayoutSize(Container). Примечание: некоторые реализации могут кэшировать значение, возвращаемое LayoutManager. Реализациям, использующим кэширование, не требуется вызывать preferredLayoutSize для LayoutManager при каждом вызове этого метода; вместо этого запрос к LayoutManager будет выполняться только после того, как Container станет недействительным.
- Переопределяет:
-
getPreferredSizeв классеComponent - Возвращает:
- экземпляр
Dimension, представляющий предпочтительный размер этого контейнера. - См. также:
preferredSize
@Deprecated public Dimension preferredSize()
getPreferredSize().Component- Переопределяет:
-
preferredSizeв классеComponent - Возвращает:
- предпочтительный размер компонента
getMinimumSize
public Dimension getMinimumSize()
Component.setMinimumSize(Dimension) и этот Container имеет non-null LayoutManager, то для вычисления минимального размера используется LayoutManager.minimumLayoutSize(Container). Примечание: некоторые реализации могут кэшировать значение, возвращаемое LayoutManager. Реализациям, использующим кэширование, не требуется вызывать minimumLayoutSize для LayoutManager при каждом вызове этого метода; вместо этого запрос к LayoutManager будет выполняться только после того, как Container станет недействительным.
- Переопределяет:
-
getMinimumSizeв классеComponent - Возвращает:
- экземпляр
Dimension, представляющий минимальный размер этого контейнера. - Начиная с:
- 1.1
- См. также:
minimumSize
@Deprecated public Dimension minimumSize()
getMinimumSize().Component- Переопределяет:
-
minimumSizeв классеComponent - Возвращает:
- минимальный размер этого компонента
getMaximumSize
public Dimension getMaximumSize()
Component.setMaximumSize(Dimension) и установленный в этом Container LayoutManager является экземпляром LayoutManager2, то для вычисления максимального размера используется LayoutManager2.maximumLayoutSize(Container). Примечание: некоторые реализации могут кэшировать значение, возвращаемое LayoutManager2. Реализациям, использующим кэширование, не требуется вызывать maximumLayoutSize для LayoutManager2 при каждом вызове этого метода; вместо этого запрос к LayoutManager2 будет выполняться только после того, как Container станет недействительным.
- Переопределяет:
-
getMaximumSizeв классеComponent - Возвращает:
- экземпляр
Dimension, представляющий максимальный размер этого контейнера. - См. также:
getAlignmentX
public float getAlignmentX()
- Переопределяет:
-
getAlignmentXв классеComponent - Возвращает:
- горизонтальное выравнивание этого компонента
getAlignmentY
public float getAlignmentY()
- Переопределяет:
-
getAlignmentYв классеComponent - Возвращает:
- вертикальное выравнивание этого компонента
paint
public void paint(Graphics g)
update
public void update(Graphics g)
public void print(Graphics g)
paintComponents
public void paintComponents(Graphics g)
- Параметры:
-
g— графический контекст. - См. также:
printComponents
public void printComponents(Graphics g)
- Параметры:
-
g— графический контекст. - См. также:
addContainerListener
public void addContainerListener(ContainerListener l)
Подробные сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
l— прослушиватель контейнера - См. также:
removeContainerListener
public void removeContainerListener(ContainerListener l)
Подробные сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
l— прослушиватель контейнера - См. также:
getContainerListeners
public ContainerListener[] getContainerListeners()
- Возвращает:
- все
ContainerListenerэтого контейнера или пустой массив, если прослушиватели контейнера не зарегистрированы - Начиная с:
- 1.4
- См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener для этого Container. Регистрация FooListener выполняется с помощью метода addFooListener. В качестве аргумента listenerType можно указать литерал класса, например FooListener.class. Например, получить прослушиватели контейнера для Container c можно следующим образом:
ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));Если таких прослушивателей нет, этот метод возвращает пустой массив.
- Переопределяет:
-
getListenersв классеComponent - Параметры типа:
T— тип прослушивателей- Параметры:
-
listenerType— тип запрашиваемых прослушивателей; этот параметр должен указывать интерфейс, производный отjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных как
FooListenerдля этого контейнера, или пустой массив, если такие прослушиватели не добавлялись - Выбрасывает:
-
ClassCastException— еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener -
NullPointerException— еслиlistenerTypeравноnull - Начиная с:
- 1.3
- См. также:
processEvent
protected void processEvent(AWTEvent e)
ContainerEvent, вызывается метод processContainerEvent; в противном случае вызывается processEvent суперкласса. Обратите внимание: если параметр event равен null, поведение не определено и может привести к исключению.
- Переопределяет:
-
processEventв классеComponent - Параметры:
-
e— событие - См. также:
processContainerEvent
protected void processContainerEvent(ContainerEvent e)
- Зарегистрирован объект ContainerListener с помощью
addContainerListener - События контейнера включены с помощью
enableEvents
Обратите внимание: если параметр event равен null, поведение не определено и может привести к исключению.
- Параметры:
-
e— событие контейнера - См. также:
deliverEvent
@Deprecated public void deliverEvent(Event e)
dispatchEvent(AWTEvent e)
- Переопределяет:
-
deliverEventв классеComponent - Параметры:
-
e— событие для передачи
getComponentAt
public Component getComponentAt(int x, int y)
- Переопределяет:
-
getComponentAtв классеComponent - Параметры:
-
x— координата x -
y— координата y - Возвращает:
- null, если компонент не содержит указанную точку. Если в запрошенной точке нет дочернего компонента, а точка находится в пределах контейнера, возвращается сам контейнер; в противном случае возвращается самый верхний дочерний компонент.
- Начиная с:
- 1.1
- См. также:
locate
@Deprecated public Component locate(int x, int y)
getComponentAt(int, int).ComponentgetComponentAt
public Component getComponentAt(Point p)
- Переопределяет:
-
getComponentAtв классеComponent - Параметры:
-
p— точка. - Возвращает:
- компонент, содержащий точку, или
null, если компонент не содержит эту точку. - Начиная с:
- 1.1
- См. также:
getMousePosition
public Point getMousePosition(boolean allowChildren) throws HeadlessException
Container, если Container находится под указателем мыши; в противном случае возвращает null. Этот метод похож на Component.getMousePosition(), но может учитывать дочерние элементы Container. Если allowChildren равно false, этот метод возвращает ненулевое значение, только если указатель мыши находится непосредственно над Container, а не над его частью, закрытой дочерними элементами. Если allowChildren равно true, этот метод возвращает ненулевое значение, если указатель мыши находится над Container или любым из его потомков.- Параметры:
-
allowChildren— true, если следует учитывать дочерние элементы - Возвращает:
- координаты мыши относительно этого
Componentили null - Выбрасывает:
-
HeadlessException— если GraphicsEnvironment.isHeadless() возвращает true - Начиная с:
- 1.5
- См. также:
findComponentAt
public Component findComponentAt(int x, int y)
Метод findComponentAt отличается от getComponentAt тем, что getComponentAt ищет только среди непосредственных дочерних компонентов Container; если содержащий точку компонент является Container, findComponentAt выполнит поиск внутри этого дочернего компонента, чтобы найти вложенный компонент.
- Параметры:
-
x— координата x -
y— координата y - Возвращает:
- null, если компонент не содержит указанную позицию. Если в запрошенной точке нет дочернего компонента, а точка находится в пределах контейнера, возвращается сам контейнер.
- Начиная с:
- 1.2
- См. также:
findComponentAt
public Component findComponentAt(Point p)
Метод findComponentAt отличается от getComponentAt тем, что getComponentAt ищет только среди непосредственных дочерних компонентов Container; если содержащий точку компонент является Container, findComponentAt выполнит поиск внутри этого дочернего компонента, чтобы найти вложенный компонент.
- Параметры:
-
p— точка. - Возвращает:
- null, если компонент не содержит указанную позицию. Если в запрошенной точке нет дочернего компонента, а точка находится в пределах контейнера, возвращается сам контейнер.
- Выбрасывает:
-
NullPointerException— еслиpравноnull - Начиная с:
- 1.2
- См. также:
addNotify
public void addNotify()
removeNotify
public void removeNotify()
- Переопределяет:
-
removeNotifyв классеComponent - См. также:
isAncestorOf
public boolean isAncestorOf(Component c)
- Параметры:
-
c— компонент - Возвращает:
-
true, если он является предком; в противном случае —false. - Начиная с:
- 1.1
paramString
protected String paramString()
Container. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.- Переопределяет:
-
paramStringв классеComponent - Возвращает:
- строку параметров этого контейнера
list
public void list(PrintStream out, int indent)
Непосредственные дочерние компоненты контейнера выводятся с отступом indent+1. Дочерние компоненты этих компонентов выводятся с отступом indent+2 и так далее.
- Переопределяет:
-
listв классеComponent - Параметры:
-
out— поток вывода -
indent— количество пробелов для отступа - Выбрасывает:
-
NullPointerException— еслиoutравноnull - Начиная с:
- 1.0
- См. также:
list
public void list(PrintWriter out, int indent)
Непосредственные дочерние компоненты контейнера выводятся с отступом indent+1. Дочерние компоненты этих компонентов выводятся с отступом indent+2 и так далее.
- Переопределяет:
-
listв классеComponent - Параметры:
-
out— объект печати -
indent— количество пробелов для отступа - Выбрасывает:
-
NullPointerException— еслиoutравноnull - Начиная с:
- 1.1
- См. также:
setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Значения по умолчанию для клавиш перемещения фокуса контейнера зависят от реализации. Sun рекомендует, чтобы все реализации для конкретной нативной платформы использовали одинаковые значения по умолчанию. Рекомендации для Windows и Unix приведены ниже. Эти рекомендации используются в реализациях Sun AWT.
| Идентификатор | Значение | По умолчанию |
|---|---|---|
| KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS | Обычное перемещение клавиатурного фокуса вперед | TAB при KEY_PRESSED, CTRL-TAB при KEY_PRESSED |
| KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS | Обычное перемещение клавиатурного фокуса назад | SHIFT-TAB при KEY_PRESSED, CTRL-SHIFT-TAB при KEY_PRESSED |
| KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS | Перейти на один цикл перемещения фокуса вверх | нет |
| KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS | Перейти на один цикл перемещения фокуса вниз | нет |
С помощью API AWTKeyStroke клиентский код может указать, при каком из двух конкретных событий KeyEvent — KEY_PRESSED или KEY_RELEASED — будет выполняться операция перемещения фокуса. Однако независимо от указанного KeyEvent будут обработаны все события KeyEvent, связанные с клавишей перемещения фокуса, включая соответствующее событие KEY_TYPED, и ни одно из них не будет отправлено какому-либо контейнеру. Указание события KEY_TYPED в качестве соответствующего операции перемещения фокуса или назначение одного и того же события нескольким стандартным операциям перемещения фокуса является ошибкой времени выполнения.
Если для Set указано значение null, этот контейнер наследует Set от родителя. Если для Set указано значение null у всех предков этого контейнера, используется Set по умолчанию текущего KeyboardFocusManager.
Этот метод может выбросить ClassCastException, если какой-либо Object в keystrokes не является AWTKeyStroke.
- Переопределяет:
-
setFocusTraversalKeysв классеComponent - Параметры:
-
id- один из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS -
keystrokes- Set объектов AWTKeyStroke для указанной операции - Исключения:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, если keystrokes содержит null, если какая-либо последовательность клавиш представляет событие KEY_TYPED или если какая-либо последовательность клавиш уже сопоставлена с другой операцией перемещения фокуса для этого контейнера - Начиная с версии:
- 1.4
- См. также:
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys.) Если Set клавиш перемещения не был явно задан для этого контейнера, возвращается Set родительского контейнера. Если ни для одного из предков этого контейнера Set не был явно задан, возвращается Set по умолчанию текущего KeyboardFocusManager.
- Переопределяет:
-
getFocusTraversalKeysв классеComponent - Параметры:
-
id- один из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
- Set объектов AWTKeyStroke для указанной операции. Set будет неизменяемым и может быть пустым. Значение null никогда не возвращается.
- Исключения:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Начиная с версии:
- 1.4
- См. также:
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id)
false, данный контейнер наследует Set от предка или от текущего KeyboardFocusManager.- Переопределяет:
-
areFocusTraversalKeysSetв классеComponent - Параметры:
-
id- один из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
-
true, если Set клавиш перемещения фокуса для указанной операции перемещения фокуса был явно задан для этого компонента; в противном случае —false. - Исключения:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Начиная с версии:
- 1.4
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)
true.- Переопределяет:
-
isFocusCycleRootв классеComponent - Параметры:
-
container- контейнер, который необходимо проверить - Возвращает:
-
true, если указанный контейнер является корнем цикла фокуса для этого контейнера; в противном случае —false - Начиная с версии:
- 1.4
- См. также:
setFocusTraversalPolicy
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
Если этот контейнер не является корнем цикла фокуса, политика будет сохранена, но не будет использоваться и наследоваться этим или любым другим контейнером до тех пор, пока этот контейнер не станет корнем цикла фокуса.
- Параметры:
-
policy- новая политика перемещения фокуса для этого контейнера - Начиная с версии:
- 1.4
- См. также:
getFocusTraversalPolicy
public FocusTraversalPolicy getFocusTraversalPolicy()
- Возвращает:
- политику перемещения фокуса этого контейнера или null, если этот контейнер не является корнем цикла фокуса.
- Начиная с версии:
- 1.4
- См. также:
isFocusTraversalPolicySet
public boolean isFocusTraversalPolicySet()
false, контейнер наследует политику перемещения фокуса от предка.- Возвращает:
-
true, если политика перемещения фокуса была явно задана для этого контейнера; в противном случае —false. - Начиная с версии:
- 1.4
setFocusCycleRoot
public void setFocusCycleRoot(boolean focusCycleRoot)
Альтернативный способ указать порядок перемещения по дочерним элементам этого контейнера — сделать этот контейнер поставщиком политики перемещения фокуса.
- Параметры:
-
focusCycleRoot- указывает, является ли этот контейнер корнем цикла перемещения фокуса - Начиная с версии:
- 1.4
- См. также:
isFocusCycleRoot
public boolean isFocusCycleRoot()
- Возвращает:
- сведения о том, является ли этот контейнер корнем цикла перемещения фокуса
- Начиная с версии:
- 1.4
- См. также:
setFocusTraversalPolicyProvider
public final void setFocusTraversalPolicyProvider(boolean provider)
true будет использоваться для получения политики перемещения фокуса вместо ближайшего предка, являющегося корнем цикла фокуса.- Параметры:
-
provider- указывает, будет ли этот контейнер использоваться для предоставления политики перемещения фокуса - Начиная с версии:
- 1.5
- См. также:
isFocusTraversalPolicyProvider
public final boolean isFocusTraversalPolicyProvider()
true, при поиске политики перемещения фокуса в иерархии контейнеров менеджер клавиатурного фокуса использует политику перемещения фокуса этого контейнера вместо политики корня цикла фокуса, если встречает этот контейнер раньше любого другого контейнера со значением свойства true или любого корня цикла фокуса.- Возвращает:
-
true, если этот контейнер предоставляет политику перемещения фокуса; в противном случае —false - Начиная с версии:
- 1.5
- См. также:
transferFocusDownCycle
public void transferFocusDownCycle()
- Начиная с версии:
- 1.4
- См. также:
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
ComponentOrientation для этого контейнера и всех содержащихся в нем компонентов. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает иерархию компонентов недействительной.
- Переопределяет:
-
applyComponentOrientationв классеComponent - Параметры:
-
o- новая ориентация этого контейнера и содержащихся в нем компонентов. - Исключения:
-
NullPointerException- еслиorientationравно null. - Начиная с версии:
- 1.4
- См. также:
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
- шрифт этого контейнера ("font")
- цвет фона этого контейнера ("background")
- цвет переднего плана этого контейнера ("foreground")
- возможность получения фокуса этим контейнером ("focusable")
- состояние разрешения клавиш перемещения фокуса для этого контейнера ("focusTraversalKeysEnabled")
- Set клавиш FORWARD_TRAVERSAL_KEYS этого контейнера ("forwardFocusTraversalKeys")
- Set клавиш BACKWARD_TRAVERSAL_KEYS этого контейнера ("backwardFocusTraversalKeys")
- Set клавиш UP_CYCLE_TRAVERSAL_KEYS этого контейнера ("upCycleFocusTraversalKeys")
- Set клавиш DOWN_CYCLE_TRAVERSAL_KEYS этого контейнера ("downCycleFocusTraversalKeys")
- политика перемещения фокуса этого контейнера ("focusTraversalPolicy")
- состояние корня цикла фокуса этого контейнера ("focusCycleRoot")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Переопределяет:
-
addPropertyChangeListenerв классеComponent - Параметры:
-
listener- добавляемый PropertyChangeListener - См. также:
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
- шрифт этого контейнера ("font")
- цвет фона этого контейнера ("background")
- цвет переднего плана этого контейнера ("foreground")
- возможность получения фокуса этим контейнером ("focusable")
- состояние разрешения клавиш перемещения фокуса для этого контейнера ("focusTraversalKeysEnabled")
- Set клавиш FORWARD_TRAVERSAL_KEYS этого контейнера ("forwardFocusTraversalKeys")
- Set клавиш BACKWARD_TRAVERSAL_KEYS этого контейнера ("backwardFocusTraversalKeys")
- Set клавиш UP_CYCLE_TRAVERSAL_KEYS этого контейнера ("upCycleFocusTraversalKeys")
- Set клавиш DOWN_CYCLE_TRAVERSAL_KEYS этого контейнера ("downCycleFocusTraversalKeys")
- политика перемещения фокуса этого контейнера ("focusTraversalPolicy")
- состояние корня цикла фокуса этого контейнера ("focusCycleRoot")
- состояние поставщика политики перемещения фокуса этого контейнера ("focusTraversalPolicyProvider")
- состояние поставщика политики перемещения фокуса этого контейнера ("focusTraversalPolicyProvider")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Переопределяет:
-
addPropertyChangeListenerв классеComponent - Параметры:
-
propertyName- одно из перечисленных выше имен свойств -
listener- добавляемый PropertyChangeListener - См. также:
© 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/java/awt/Container.html