Класс Контейнер
- Все реализуемые интерфейсы:
-
ImageObserver,MenuContainer,Serializable
- Непосредственные подклассы:
-
BasicSplitPaneDivider,CellRendererPane,DefaultTreeCellEditor.EditorContainer,JComponent,Panel,ScrollPane,Window
public class Container extends Component
Компоненты, добавленные в контейнер, отслеживаются в списке. Порядок списка определяет порядок компоновки компонентов в контейнере — спереди назад. Если при добавлении компонента в контейнер индекс не указан, он добавляется в конец списка (и, следовательно, в нижнюю часть порядка компоновки).
Примечание: Подробнее о подсистеме фокусировки см. Как использовать подсистему фокусировки — раздел в Руководстве Java, и Спецификацию фокусировки для получения дополнительной информации.
- С:
- 1.0
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
Container.AccessibleAWTContainer |
Вложенный класс контейнера, используемый для предоставления стандартной поддержки доступности. |
Вложенные классы/интерфейсы, объявленные в классе 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<AWTKeyStroke> |
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- если добавляется окно в контейнер -
NullPointerException- если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
public void doLayout()
validate вместо этого.- Overrides:
-
doLayoutв классеComponent - Since:
- 1.1
- See Also:
layout
@Deprecated public void layout()
doLayout().- Overrides:
-
layoutв классеComponent
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()
Если менеджер компоновки LayoutManager, установленный в этом контейнере, является экземпляром интерфейса LayoutManager2, тогда метод LayoutManager2.invalidateLayout(Container) вызывается с этим контейнером Container в качестве аргумента.
После этого метод отмечает этот контейнер как невалидный и невалидирует его предков. Подробнее см. метод Component.invalidate().
- Overrides:
-
invalidateв классеComponent - See Also:
validate
public void validate()
Проверка контейнера означает расположение его дочерних компонентов. Изменения, связанные с расположением, такие как установка границ компонента или добавление компонента в контейнер, автоматически невалидируют контейнер. Обратите внимание, что предки контейнера также могут быть невалидными (см. Component.invalidate() для подробностей). Поэтому, чтобы восстановить валидность иерархии, метод
validate() должен быть вызван на верхнем невалидном контейнере иерархии.
Проверка контейнера может быть довольно длительной операцией. По соображениям производительности разработчик может отложить проверку иерархии до завершения набора операций, связанных с расположением, например, после добавления всех дочерних элементов в контейнер.
Если этот контейнер не валиден, этот метод вызывает метод validateTree и отмечает этот контейнер как валидный. В противном случае никаких действий не выполняется.
- Overrides:
-
validateв классеComponent - See Also:
validateTree
protected void validateTree()
validate.- See Also:
setFont
public void setFont(Font f)
Этот метод изменяет информацию, связанную с расположением, и поэтому невалидирует иерархию компонентов.
- Overrides:
-
setFontв классеComponent - Parameters:
-
f- Шрифт, который станет шрифтом этого контейнера. - Since:
- 1.0
- See Also:
getPreferredSize
public Dimension getPreferredSize()
Component.setPreferredSize(Dimension) и у этого контейнера есть Container non-null 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 non-null 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- Overrides:
-
minimumSizeв классеComponent - Returns:
- минимальный размер этого компонента
getMaximumSize
public Dimension getMaximumSize()
Component.setMaximumSize(Dimension), и LayoutManager, установленный на этом Container , является экземпляром LayoutManager2, то используется метод LayoutManager2.maximumLayoutSize(Container) для расчета максимального размера. Примечание: некоторые реализации могут кэшировать значение, возвращаемое методом LayoutManager2. Реализации, использующие кэширование, не обязаны вызывать maximumLayoutSize для LayoutManager2 каждый раз при вызове этого метода, а скорее LayoutManager2 будет запрошен только после того, как Container станет недопустимым.
- Overrides:
-
getMaximumSizeв классеComponent - Returns:
- экземпляр
Dimension, представляющий максимальный размер этого контейнера. - See Also:
getAlignmentX
public float getAlignmentX()
- Overrides:
-
getAlignmentXв классеComponent - Returns:
- горизонтальное выравнивание этого компонента
getAlignmentY
public float getAlignmentY()
- Overrides:
-
getAlignmentYв классеComponent - Returns:
- вертикальное выравнивание этого компонента
paint
public void paint(Graphics g)
- Overrides:
-
paintв классеComponent - Parameters:
-
g- указанное графическое окно - See Also:
update
public void update(Graphics g)
- Overrides:
-
updateв классеComponent - Parameters:
-
g- указанное графическое окно - See Also:
public void print(Graphics g)
- Overrides:
-
printв классеComponent - Parameters:
-
g- указанное графическое окно - See Also:
paintComponents
public void paintComponents(Graphics g)
- Parameters:
-
g- контекст графики. - See Also:
printComponents
public void printComponents(Graphics g)
- Parameters:
-
g- контекст графики. - See Also:
addContainerListener
public void addContainerListener(ContainerListener l)
Обратитесь к проблемам с потоками AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
l- слушатель контейнера - See Also:
removeContainerListener
public void removeContainerListener(ContainerListener l)
Обратитесь к проблемам с потоками AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
l- слушатель контейнера - See Also:
getContainerListeners
public ContainerListener[] getContainerListeners()
- Returns:
- все слушатели этого контейнера или пустой массив, если слушатели контейнера не зарегистрированы
- Since:
- 1.4
- See Also:
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));Если такие слушатели не существуют, этот метод возвращает пустой массив.
- Overrides:
-
getListenersв классеComponent - Type Parameters:
-
T- тип слушателей - Parameters:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, который наследуется отjava.util.EventListener - Returns:
- массив всех объектов, зарегистрированных в качестве
FooListenerв этом контейнере, или пустой массив, если такие слушатели не были добавлены - 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:
-
Component.processComponentEvent(java.awt.event.ComponentEvent)Component.processFocusEvent(java.awt.event.FocusEvent)Component.processKeyEvent(java.awt.event.KeyEvent)Component.processMouseEvent(java.awt.event.MouseEvent)Component.processMouseMotionEvent(java.awt.event.MouseEvent)Component.processInputMethodEvent(java.awt.event.InputMethodEvent)Component.processHierarchyEvent(java.awt.event.HierarchyEvent)Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)
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).Component- Overrides:
-
locateв классеComponent - Parameters:
-
x- координата x для поиска компонентов -
y- координата y для поиска компонентов - Returns:
- компонент в указанном месте или
null
getComponentAt
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
Container, если Container находится под указателем мыши, в противном случае возвращает null. Этот метод похож на Component.getMousePosition() за исключением того, что он может учитывать дочерние элементы Container. Если allowChildren равно false, этот метод вернёт ненулевое значение только если указатель мыши находится над Container непосредственно, а не над частью, скрытой дочерними элементами. Если allowChildren равно true, этот метод возвращает ненулевое значение, если указатель мыши находится над Container или любым из его потомков.- Parameters:
-
allowChildren- true, если необходимо учитывать дочерние элементы - Returns:
- координаты мыши относительно этого
Component, или 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()
- Overrides:
-
addNotifyв классеComponent - See Also:
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 при нажатии, CTRL-TAB при нажатии |
| KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS | Нормальное перемещение фокуса по клавиатуре назад | SHIFT-TAB при нажатии, CTRL-SHIFT-TAB при нажатии |
| 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 - Parameters:
-
id- одно из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Returns:
- набор AWTKeyStrokes для заданной операции. Набор будет неизменяемым и может быть пустым. null никогда не возвращается.
- Throws:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Since:
- 1.4
- See Also:
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id)
false, этот контейнер наследует набор от предка или от текущего KeyboardFocusManager.- Overrides:
-
areFocusTraversalKeysSetв классеComponent - Parameters:
-
id- одно из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Returns:
-
trueесли набор клавиш перемещения фокуса для заданной операции перемещения фокуса был явно определен для этого компонента;falseв противном случае. - Throws:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Since:
- 1.4
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)
true для обоих таких контейнеров в этом случае.- Overrides:
-
isFocusCycleRootв классеComponent - Parameters:
-
container- контейнер, который нужно проверить - Returns:
-
trueесли указанный контейнер является корнем цикла перемещения фокуса этого контейнера;falseв противном случае - Since:
- 1.4
- See Also:
setFocusTraversalPolicy
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
Если этот контейнер не является корнем цикла фокуса, политика будет запомнена, но не будет использоваться или наследоваться этим или любыми другими контейнерами, пока этот контейнер не станет корнем цикла фокуса.
- Parameters:
-
policy- новая политика перехода фокуса для этого контейнера - Since:
- 1.4
- See Also:
getFocusTraversalPolicy
public FocusTraversalPolicy getFocusTraversalPolicy()
- Returns:
- политика перехода фокуса этого контейнера или null, если этот контейнер не является корнем цикла фокуса.
- Since:
- 1.4
- See Also:
isFocusTraversalPolicySet
public boolean isFocusTraversalPolicySet()
false, этот контейнер будет наследовать свою политику перехода фокуса от предка.- Returns:
-
trueесли политика перехода фокуса была явно установлена для этого контейнера;falseв противном случае. - Since:
- 1.4
setFocusCycleRoot
public void setFocusCycleRoot(boolean focusCycleRoot)
Альтернативный способ указать порядок перехода дочерних элементов этого контейнера — сделать этот контейнер поставщиком политики перехода фокуса.
- Parameters:
-
focusCycleRoot- указывает, является ли этот контейнер корнем цикла перехода фокуса - Since:
- 1.4
- See Also:
isFocusCycleRoot
public boolean isFocusCycleRoot()
- Returns:
- является ли этот контейнер корнем цикла перехода фокуса
- Since:
- 1.4
- See Also:
setFocusTraversalPolicyProvider
public final void setFocusTraversalPolicyProvider(boolean provider)
true будет использоваться для получения политики перехода фокуса вместо ближайшего предка-корня цикла фокуса.- Parameters:
-
provider- указывает, будет ли этот контейнер использоваться для предоставления политики перехода фокуса - Since:
- 1.5
- See Also:
isFocusTraversalPolicyProvider
public final boolean isFocusTraversalPolicyProvider()
true, то при поиске менеджером фокуса политики перехода фокуса по иерархии контейнеров и обнаружении этого контейнера перед любым другим контейнером с этим свойством, установленным в true, или корнем цикла фокуса, его политика перехода фокуса будет использоваться вместо политики корня цикла фокуса.- Returns:
-
trueесли этот контейнер предоставляет политику перехода фокуса,falseв противном случае - Since:
- 1.5
- See Also:
transferFocusDownCycle
public void transferFocusDownCycle()
- Since:
- 1.4
- See Also:
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
ComponentOrientation этого контейнера и всех содержащихся в нем компонентов. Этот метод изменяет информацию, относящуюся к макету, и, следовательно, делает недействительным иерархию компонентов.
- Overrides:
-
applyComponentOrientationв классеComponent - Parameters:
-
o- новая ориентация компонентов этого контейнера и содержащихся в нем компонентов. - Throws:
-
NullPointerException- еслиorientationравно null. - Since:
- 1.4
- See Also:
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
- шрифт этого контейнера ("font")
- цвет фона этого контейнера ("background")
- цвет текста этого контейнера ("foreground")
- возможность получения фокуса этим контейнером ("focusable")
- состояние включения клавиш перехода фокуса ("focusTraversalKeysEnabled")
- множество клавиш перехода вправо ("forwardFocusTraversalKeys")
- множество клавиш перехода влево ("backwardFocusTraversalKeys")
- множество клавиш перехода по циклу вверх ("upCycleFocusTraversalKeys")
- множество клавиш перехода по циклу вниз ("downCycleFocusTraversalKeys")
- политика перехода фокуса этого контейнера ("focusTraversalPolicy")
- состояние контейнера-корня цикла фокуса ("focusCycleRoot")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.
- Overrides:
-
addPropertyChangeListenerв классеComponent - Parameters:
-
listener- добавляемый PropertyChangeListener - See Also:
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
- шрифт этого контейнера ("font")
- цвет фона этого контейнера ("background")
- цвет переднего плана этого контейнера ("foreground")
- признак фокусируемости этого контейнера ("focusable")
- включенное состояние клавиш перемещения фокуса этого контейнера ("focusTraversalKeysEnabled")
- набор клавиш прямого перемещения фокуса этого контейнера ("forwardFocusTraversalKeys")
- набор клавиш обратного перемещения фокуса этого контейнера ("backwardFocusTraversalKeys")
- набор клавиш перемещения фокуса вверх ("upCycleFocusTraversalKeys")
- набор клавиш перемещения фокуса вниз ("downCycleFocusTraversalKeys")
- политика перемещения фокуса этого контейнера ("focusTraversalPolicy")
- состояние корневого элемента цикла фокуса этого контейнера ("focusCycleRoot")
- состояние поставщика политики перемещения фокуса ("focusTraversalPolicyProvider")
- состояние поставщика политики перемещения фокуса ("focusTraversalPolicyProvider")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.
- Overrides:
-
addPropertyChangeListenerв классеComponent - Parameters:
-
propertyName- одно из имен свойств, перечисленных выше -
listener- добавляемый PropertyChangeListener - See Also:
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/Container.html