Класс Контейнер
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable
- Непосредственные известные подклассы:
-
BasicSplitPaneDivider,CellRendererPane,DefaultTreeCellEditor.EditorContainer,JComponent,Panel,ScrollPane,Window
public class Container extends Component
Компоненты, добавленные в контейнер, отслеживаются в списке. Порядок списка определяет порядок стекирования компонентов в контейнере — спереди назад. Если при добавлении компонента в контейнер индекс не указан, он будет добавлен в конец списка (а значит, в нижнюю часть порядка стекирования).
Примечание: Подробнее о системе фокусировки см. Как использовать систему фокусировки в разделе The Java Tutorial и Спецификацию фокуса для получения дополнительной информации.
- C момента:
- 1.0
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
Container.AccessibleAWTContainer |
Вложенный класс Container, обеспечивающий стандартную поддержку доступности. |
Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
Поля, объявленные в классе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Container() |
Создает новый контейнер. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Component |
add |
Добавляет указанный компонент в конец этого контейнера. |
Component |
add |
Добавляет указанный компонент в этот контейнер в указанную позицию. |
void |
add |
Добавляет указанный компонент в конец этого контейнера. |
void |
add |
Добавляет указанный компонент в этот контейнер с указанными ограничениями в указанный индекс. |
Component |
add |
Добавляет указанный компонент в этот контейнер. |
void |
addContainerListener |
Добавляет указанного слушателя контейнера для получения событий контейнера из этого контейнера. |
protected void |
addImpl |
Добавляет указанный компонент в этот контейнер в указанный индекс. |
void |
addNotify() |
Делает этот контейнер отображаемым, подключив его к ресурсу нативного экрана. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей для определенного свойства. |
void |
applyComponentOrientation |
Устанавливает свойство ComponentOrientation этого контейнера и всех компонентов, содержащихся в нем. |
boolean |
areFocusTraversalKeysSet |
Возвращает, определен ли набор клавиш перехода фокуса для данной операции перехода фокуса для этого контейнера. |
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 |
Возвращает набор клавиш перехода фокуса для данной операции перехода для этого контейнера. |
FocusTraversalPolicy |
getFocusTraversalPolicy() |
Возвращает политику перехода фокуса, которая будет управлять перемещением клавиатуры по дочерним элементам этого контейнера, или null, если этот контейнер не является корнем цикла фокуса. |
Insets |
getInsets() |
Определяет отступы этого контейнера, которые указывают размер границы контейнера. |
LayoutManager |
getLayout() |
Получает менеджер компоновки для этого контейнера. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве FooListener на этом Container. |
Dimension |
getMaximumSize() |
Возвращает максимальный размер этого контейнера. |
Dimension |
getMinimumSize() |
Возвращает минимальный размер этого контейнера. |
Point |
getMousePosition |
Возвращает позицию указателя мыши в пространстве координат этого Container, если Container находится под указателем мыши, в противном случае возвращает null. |
Dimension |
getPreferredSize() |
Возвращает предпочтительный размер этого контейнера. |
Insets |
insets() |
Устарело. Начиная с JDK версии 1.1, заменено на getInsets(). |
void |
invalidate() |
Делает контейнер недоступным. |
boolean |
isAncestorOf |
Проверяет, содержится ли компонент в иерархии компонентов этого контейнера. |
boolean |
isFocusCycleRoot() |
Возвращает, является ли этот контейнер корнем цикла перехода фокуса. |
boolean |
isFocusCycleRoot |
Возвращает, является ли указанный контейнер корнем цикла перехода фокуса цикла перехода фокуса этого контейнера. |
final boolean |
isFocusTraversalPolicyProvider() |
Возвращает, предоставляет ли этот контейнер политику перехода фокуса. |
boolean |
isFocusTraversalPolicySet() |
Возвращает, была ли явно установлена политика перехода фокуса для этого контейнера. |
boolean |
isValidateRoot() |
Указывает, является ли этот контейнер корнем проверки. |
void |
layout() |
Устарело. Начиная с JDK версии 1.1, заменено на doLayout(). |
void |
list |
Выводит список этого контейнера в указанный поток вывода. |
void |
list |
Выводит список, начиная с указанного отступа, в указанный объект PrintWriter. |
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() |
Делает этот контейнер неотображаемым, удалив его подключение к ресурсу родственного экрана. |
void |
setComponentZOrder |
Перемещает указанный компонент в указанный индекс порядка z в контейнере. |
void |
setFocusCycleRoot |
Устанавливает, является ли этот контейнер корнем цикла обхода фокуса. |
void |
setFocusTraversalKeys |
Устанавливает клавиши обхода фокуса для заданной операции обхода для этого контейнера. |
void |
setFocusTraversalPolicy |
Устанавливает политику обхода фокуса, которая будет управлять обходом клавиатуры по дочерним элементам этого контейнера, если этот контейнер является корнем цикла фокуса. |
final void |
setFocusTraversalPolicyProvider |
Устанавливает, будет ли этот контейнер использоваться для предоставления политики обхода фокуса. |
void |
setFont |
Устанавливает шрифт этого контейнера. |
void |
setLayout |
Устанавливает менеджер макета для этого контейнера. |
void |
transferFocusDownCycle() |
Передает фокус вниз по одному циклу обхода фокуса. |
void |
update |
Обновляет контейнер. |
void |
validate() |
Проверяет этот контейнер и все его подкомпоненты. |
protected void |
validateTree() |
Рекурсивно спускается по дереву контейнера и пересчитывает макет для всех поддеревьев, помеченных как требующие этого (помеченных как недействительные). |
Методы, объявленные в классе java.awt.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
Подробное описание конструкторов
Контейнер
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(java.awt.Component, java.lang.Object, int). Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительным иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена повторно, чтобы отобразить добавленный компонент.
- Параметры:
-
comp- добавляемый компонент - Возвращает:
- аргумент компонента
- Исключения:
-
NullPointerException- еслиcompявляетсяnull - См. также:
add
public Component add(String name, Component comp)
addImpl(java.awt.Component, java.lang.Object, int). Этот метод устарел с версии 1.1. Используйте метод add(Component, Object) вместо него.
Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительным иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена повторно, чтобы отобразить добавленный компонент.
- Параметры:
-
name- имя добавляемого компонента -
comp- добавляемый компонент - Возвращает:
- добавляемый компонент
- Исключения:
-
NullPointerException- еслиcompявляетсяnull - См. также:
add
public Component add(Component comp, int index)
addImpl(java.awt.Component, java.lang.Object, int). Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительным иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена повторно, чтобы отобразить добавленный компонент.
- Параметры:
-
comp- добавляемый компонент -
index- позиция для вставки компонента, или-1для добавления в конец - Возвращает:
- добавляемый компонент
- Исключения:
-
NullPointerException- еслиcompявляетсяnull -
IllegalArgumentException- еслиindexявляется недопустимым (см.addImpl(java.awt.Component, java.lang.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(java.awt.Component, java.lang.Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отобразить добавленный компонент.
- Parameters:
-
comp- добавляемый компонент -
constraints- объект, выражающий ограничения компоновки для этого компонента - Throws:
-
NullPointerException- еслиcompявляетсяnull - Since:
- 1.1
- See Also:
add
public void add(Component comp, Object constraints, int index)
addImpl(java.awt.Component, java.lang.Object, int). Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отобразить добавленный компонент.
- Parameters:
-
comp- добавляемый компонент -
constraints- объект, выражающий ограничения компоновки для этого -
index- позиция в списке контейнера, в который необходимо вставить компонент;-1означает вставить в конец - Throws:
-
NullPointerException- еслиcompявляетсяnull -
IllegalArgumentException- еслиindexнекорректен (см.addImpl(java.awt.Component, java.lang.Object, int)для подробностей) - See Also:
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) Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отобразить добавленный компонент.
- Parameters:
-
comp- добавляемый компонент -
constraints- объект, выражающий ограничения компоновки для этого компонента -
index- позиция в списке контейнера, в который необходимо вставить компонент, где-1означает добавить в конец - Throws:
-
IllegalArgumentException- еслиindexнекорректен; еслиcompявляется потомком этого контейнера, допустимый диапазон -[-1, getComponentCount()-1]; если компонент не является потомком этого контейнера, допустимый диапазон -[-1, getComponentCount()] -
IllegalArgumentException- если добавляется окно в контейнер -
IllegalArgumentException- еслиcompявляетсяnull - Since:
- 1.1
- See Also:
remove
public void remove(int index)
index, из этого контейнера. Этот метод также уведомляет менеджер компоновки об удалении компонента из компоновки этого контейнера через метод removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отразить изменения.
- Parameters:
-
index- индекс компонента, который нужно удалить - Throws:
-
ArrayIndexOutOfBoundsException- еслиindexне находится в диапазоне[0, getComponentCount()-1] - Since:
- 1.1
- See Also:
remove
public void remove(Component comp)
removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отразить изменения.
- Parameters:
-
comp- удаляемый компонент - Throws:
-
NullPointerException- еслиcompявляетсяnull - See Also:
removeAll
public void removeAll()
removeLayoutComponent. Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов. Если контейнер уже отображается, иерархия должна быть проверена после этого, чтобы отразить изменения.
- See Also:
getLayout
public LayoutManager getLayout()
- Returns:
- текущий менеджер компоновки для этого контейнера
- See Also:
setLayout
public void setLayout(LayoutManager mgr)
Этот метод изменяет информацию, связанную с компоновкой, и поэтому делает недействительной иерархию компонентов.
- Parameters:
-
mgr- указанный менеджер компоновки - See Also:
doLayout
layout
isValidateRoot
public boolean isValidateRoot()
Изменения, связанные с компоновкой, такие как границы потомков корня валидации, не влияют на компоновку родителя корня валидации. Эта особенность позволяет методу invalidate() останавливать невалидацию иерархии компонентов, когда метод сталкивается с корнем валидации. Однако, чтобы сохранить обратную совместимость, это новое оптимизированное поведение включено только при значении системной переменной java.awt.smartInvalidate, установленной в true.
Если иерархия компонентов содержит корни валидации и новое оптимизированное поведение invalidate() включено, то метод validate() должен быть вызван на корне валидации ранее невалидного компонента, чтобы восстановить валидность иерархии позже. В противном случае, для восстановления валидности иерархии компонентов следует вызвать метод validate() на контейнере верхнего уровня (например, объекте Frame).
Классы Window и Applet являются корнями валидации в AWT. Swing вводит больше корней валидации.
- Returns:
- является ли этот контейнер корнем валидации
- Since:
- 1.7
- See Also:
invalidate
public void invalidate()
Если компоновщик, установленный в этом контейнере, является экземпляром интерфейса LayoutManager2, то на нём вызывается метод LayoutManager2.invalidateLayout(Container), передавая этот контейнер Container в качестве аргумента.
После этого метод отмечает этот контейнер как невалидный и делает невалидными его предков. Более подробную информацию см. в методе Component.invalidate().
- Overrides:
-
invalidateв классеComponent - See Also:
validate
public void validate()
Проверка контейнера означает компоновку его дочерних компонентов. Изменения, связанные с компоновкой, такие как установка границ компонента или добавление компонента в контейнер, автоматически делают контейнер невалидным. Обратите внимание, что предки контейнера также могут быть сделаны невалидными (подробнее см. Component.invalidate()). Поэтому для восстановления валидности иерархии следует вызвать метод
validate() на верхнем невалидном контейнере иерархии.
Проверка контейнера может быть довольно длительной операцией. По соображениям производительности разработчик может отложить проверку иерархии до завершения набора операций, связанных с компоновкой, например, после добавления всех дочерних элементов в контейнер.
Если этот контейнер Container не валиден, этот метод вызывает метод validateTree и помечает этот контейнер Container как валидный. В противном случае никаких действий не выполняется.
validateTree
protected void validateTree()
validate.- See Also:
setFont
public void setFont(Font f)
Этот метод изменяет информацию, связанную с компоновкой, и, следовательно, делает иерархию компонентов невалидной.
getPreferredSize
public Dimension getPreferredSize()
Component.setPreferredSize(Dimension), и у этого Container есть компоновщик LayoutManager, то используется метод LayoutManager.preferredLayoutSize(Container) для расчёта предпочтительного размера. Примечание: некоторые реализации могут кэшировать значение, возвращаемое методом LayoutManager. Реализации, которые кэшируют, не должны вызывать preferredLayoutSize на LayoutManager каждый раз при вызове этого метода, а LayoutManager будет запрошен только после того, как Container станет невалидным.
- Overrides:
-
getPreferredSizeв классеComponent - Returns:
- экземпляр
Dimension, представляющий предпочтительный размер этого контейнера. - See Also:
preferredSize
@Deprecated public Dimension preferredSize()
getPreferredSize().Component- Overrides:
-
preferredSizeв классеComponent - Returns:
- предпочтительный размер компонента
getMinimumSize
public Dimension getMinimumSize()
Component.setMinimumSize(Dimension), и у этого Container есть компоновщик LayoutManager, то используется метод LayoutManager.minimumLayoutSize(Container) для расчёта минимального размера. Примечание: некоторые реализации могут кэшировать значение, возвращаемое методом LayoutManager. Реализации, которые кэшируют, не должны вызывать minimumLayoutSize на LayoutManager каждый раз при вызове этого метода, а LayoutManager будет запрошен только после того, как Container станет невалидным.
- Overrides:
-
getMinimumSizeв классеComponent - Returns:
- экземпляр
Dimension, представляющий минимальный размер этого контейнера. - Since:
- 1.1
- See Also:
minimumSize
@Deprecated public Dimension minimumSize()
getMinimumSize().Component- Переопределяет:
-
minimumSizeв классеComponent - Возвращает:
- минимальный размер этого компонента
getMaximumSize
public Dimension getMaximumSize()
Component.setMaximumSize(Dimension), и установленный LayoutManager на этом Container является экземпляром 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()
- Возвращает:
- все слушатели контейнера этого контейнера или пустой массив, если слушатели контейнера в данный момент не зарегистрированы
- С:
- 1.4
- См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
addFooListener. Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей контейнера для данного компонента с помощью следующего кода:
ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));Если такие слушатели не существуют, этот метод возвращает пустой массив.
- Overrides:
-
getListenersв классеComponent - Type Parameters:
T- тип слушателей- Parameters:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указать интерфейс, который наследуется отjava.util.EventListener - Returns:
- массив всех объектов, зарегистрированных в качестве слушателей в этом контейнере, или пустой массив, если такие слушатели не были добавлены
- Throws:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener -
NullPointerException- еслиlistenerTypeявляетсяnull - Since:
- 1.3
- See Also:
processEvent
protected void processEvent(AWTEvent e)
ContainerEvent, вызывается метод processContainerEvent, в противном случае вызывается метод родительского класса processEvent. Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.
- Overrides:
-
processEventв классеComponent - Parameters:
-
e- событие - See Also:
processContainerEvent
protected void processContainerEvent(ContainerEvent e)
- Объект ContainerListener зарегистрирован через
addContainerListener - События контейнера включены через
enableEvents
Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.
- Parameters:
-
e- событие контейнера - See Also:
deliverEvent
@Deprecated public void deliverEvent(Event e)
dispatchEvent(AWTEvent e)
- Overrides:
-
deliverEventв классеComponent - Parameters:
-
e- событие для передачи
getComponentAt
public Component getComponentAt(int x, int y)
- Overrides:
-
getComponentAtв классеComponent - Parameters:
-
x- координата x -
y- координата y - Returns:
- null, если компонент не содержит позицию. Если дочернего компонента в указанной точке нет, и точка находится в границах контейнера, возвращается сам контейнер; в противном случае возвращается самый верхний дочерний компонент.
- Since:
- 1.1
- See Also:
locate
@Deprecated public Component locate(int x, int y)
getComponentAt(int, int).ComponentgetComponentAt
public Component getComponentAt(Point p)
- Overrides:
-
getComponentAtв классеComponent - Parameters:
-
p- точка. - Returns:
- возвращает компонент, содержащий точку, или
null, если компонент не содержит точку. - Since:
- 1.1
- See Also:
getMousePosition
public Point getMousePosition(boolean allowChildren) throws HeadlessException
null. Этот метод похож на Component.getMousePosition() с той лишь разницей, что он может учитывать дочерние компоненты контейнера. Если allowChildren равно false, этот метод вернёт ненулевое значение только если указатель мыши находится над самим контейнером, а не над частью, скрытой дочерними элементами. Если allowChildren равно true, этот метод возвращает ненулевое значение, если указатель мыши находится над Container или любым его потомком.- Parameters:
-
allowChildren- true, если следует учитывать дочерние элементы - Returns:
- координаты мыши относительно этого контейнера, или null
- Throws:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true - Since:
- 1.5
- See Also:
findComponentAt
public Component findComponentAt(int x, int y)
Метод findComponentAt отличается от getComponentAt тем, что getComponentAt ищет только непосредственных дочерних компонентов контейнера; если содержащий компонент является контейнером, findComponentAt будет искать в этом дочернем элементе, чтобы найти вложенный компонент.
- Parameters:
-
x- координата x -
y- координата y - Returns:
- null, если компонент не содержит позицию. Если дочернего компонента в указанной точке нет, и точка находится в границах контейнера, возвращается сам контейнер.
- Since:
- 1.2
- See Also:
findComponentAt
public Component findComponentAt(Point p)
Метод findComponentAt отличается от getComponentAt тем, что getComponentAt ищет только непосредственных дочерних элементов контейнера; если содержащий компонент является контейнером, findComponentAt будет искать в этом дочернем элементе вложенный компонент.
- Parameters:
-
p- точка. - Returns:
- null, если компонент не содержит позицию. Если дочерний компонент в запрошенной точке отсутствует, а точка находится в пределах границ контейнера, возвращается сам контейнер.
- Throws:
-
NullPointerException- еслиpявляетсяnull - Since:
- 1.2
- See Also:
addNotify
public void addNotify()
removeNotify
public void removeNotify()
- Overrides:
-
removeNotifyв классеComponent - See Also:
isAncestorOf
public boolean isAncestorOf(Component c)
- Parameters:
-
c- компонент - Returns:
-
true, если это предок;falseв противном случае. - Since:
- 1.1
paramString
protected String paramString()
Container. Этот метод предназначен только для отладки, а содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не null.- Overrides:
-
paramStringв классеComponent - Returns:
- строка параметров этого контейнера
list
public void list(PrintStream out, int indent)
Непосредственные дочерние элементы контейнера выводятся с отступом в indent+1. Дочерние элементы этих дочерних элементов выводятся с отступом в indent+2 и так далее.
- Overrides:
-
listв классеComponent - Parameters:
-
out- поток вывода -
indent- количество пробелов для отступа - Throws:
-
NullPointerException- еслиoutявляетсяnull - Since:
- 1.0
- See Also:
list
public void list(PrintWriter out, int indent)
Непосредственные дочерние элементы контейнера выводятся с отступом в indent+1. Дочерние элементы этих дочерних элементов выводятся с отступом в indent+2 и так далее.
- Overrides:
-
listв классеComponent - Parameters:
-
out- поток вывода -
indent- количество пробелов для отступа - Throws:
-
NullPointerException- еслиoutявляетсяnull - Since:
- 1.1
- See Also:
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, клиентский код может указать, на каком из двух конкретных событий KeyEvents, KEY_PRESSED или KEY_RELEASED, произойдёт операция перехода фокуса. Однако, независимо от того, какое событие KeyEvent указано, все события KeyEvent, относящиеся к клавише перехода фокуса, включая связанное событие KEY_TYPED, будут потреблены и не будут переданы ни одному контейнеру. Ошибка во время выполнения — указать событие KEY_TYPED как сопоставление с операцией перехода фокуса или сопоставить одно и то же событие с несколькими операциями перехода фокуса по умолчанию.
Если для набора указано значение null, этот контейнер наследует набор от родительского элемента. Если у всех предков этого контейнера для набора указано значение null, используется набор по умолчанию текущего KeyboardFocusManager.
Этот метод может выбросить ClassCastException, если какой-либо Object в keystrokes не является AWTKeyStroke.
- Overrides:
-
setFocusTraversalKeysв классеComponent - Parameters:
-
id- одно из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS -
keystrokes- набор AWTKeyStroke для указанной операции - Throws:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, или если keystrokes содержит null, или если какое-либо keystroke представляет событие KEY_TYPED, или если какое-либо keystroke уже сопоставлено с другой операцией перехода фокуса для этого контейнера - Since:
- 1.4
- See Also:
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys для полного описания каждой клавиши.) Если для данного контейнера явно не определен набор клавиш перемещения, возвращается набор родительского контейнера. Если для какого-либо предка данного контейнера явно не определен набор, возвращается набор по умолчанию текущего KeyboardFocusManager.
- Overrides:
-
getFocusTraversalKeysв классеComponent - Параметры:
-
id- одна из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
- набор AWTKeyStrokes для заданной операции. Набор будет неизменяемым и может быть пустым. 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, этот контейнер наследует набор от предка или от текущего KeyboardFocusManager.- Overrides:
-
areFocusTraversalKeysSetв классеComponent - Параметры:
-
id- одна из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
-
true, если набор клавиш перемещения фокуса для заданной операции перемещения фокуса был явно определен для этого компонента;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.- Overrides:
-
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")
- набор клавиш перемещения фокуса вперед этого контейнера ("forwardFocusTraversalKeys")
- набор клавиш перемещения фокуса назад этого контейнера ("backwardFocusTraversalKeys")
- набор клавиш перемещения фокуса вверх по циклу этого контейнера ("upCycleFocusTraversalKeys")
- набор клавиш перемещения фокуса вниз по циклу этого контейнера ("downCycleFocusTraversalKeys")
- политика перемещения фокуса этого контейнера ("focusTraversalPolicy")
- состояние корня цикла фокуса этого контейнера ("focusCycleRoot")
Если listener равен null, то исключение не выбрасывается и никаких действий не выполняется.
- Переопределяет:
-
addPropertyChangeListenerв классеComponent - Параметры:
-
listener- слушатель PropertyChangeListener, который нужно добавить - См. также:
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
- шрифт этого контейнера ("font")
- цвет фона этого контейнера ("background")
- цвет переднего плана этого контейнера ("foreground")
- фокусируемость этого контейнера ("focusable")
- состояние включения клавиш перемещения фокуса этого контейнера ("focusTraversalKeysEnabled")
- набор клавиш перемещения фокуса вперед этого контейнера ("forwardFocusTraversalKeys")
- набор клавиш перемещения фокуса назад этого контейнера ("backwardFocusTraversalKeys")
- набор клавиш перемещения фокуса вверх по циклу этого контейнера ("upCycleFocusTraversalKeys")
- набор клавиш перемещения фокуса вниз по циклу этого контейнера ("downCycleFocusTraversalKeys")
- политика перемещения фокуса этого контейнера ("focusTraversalPolicy")
- состояние корня цикла фокуса этого контейнера ("focusCycleRoot")
- состояние поставщика политики перемещения фокуса этого контейнера ("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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/Container.html