Класс Window
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible
- Прямые известные подклассы:
-
BasicToolBarUI.DragWindow,Dialog,Frame,JWindow
public class Window extends Container implements Accessible
Window представляет собой окно верхнего уровня без рамок и без меню. По умолчанию используется компоновщик BorderLayout. Окно должно иметь родительское окно (frame, диалоговое окно или другое окно) при создании.
В многоэкранной среде вы можете создать Window на другом экране, создав Window с помощью Window(Window, GraphicsConfiguration). Объект GraphicsConfiguration является одним из объектов GraphicsConfiguration целевого экрана.
В виртуальной многоэкранной среде, где область рабочего стола может охватывать несколько физических экранов, границы всех конфигураций относительны к виртуальной системе координат. Начало виртуальной системы координат находится в верхнем левом углу основного физического экрана. В зависимости от расположения основного экрана в виртуальном устройстве возможны отрицательные координаты, как показано на рисунке ниже.
В такой среде при вызове setLocation вы должны передать виртуальную координату в этот метод. Аналогично, вызов getLocationOnScreen для Window возвращает координаты виртуального устройства. Используйте метод getBounds объекта GraphicsConfiguration, чтобы определить его начало в системе виртуальных координат.
Следующий код устанавливает положение Window в (10, 10) относительно начала физического экрана соответствующего GraphicsConfiguration. Если границы GraphicsConfiguration не учитываются, положение Window будет установлено в (10, 10) относительно системы виртуальных координат и отобразится на основном физическом экране, что может отличаться от физического экрана указанного GraphicsConfiguration.
Window w = new Window(Window owner, GraphicsConfiguration gc);
Rectangle bounds = gc.getBounds();
w.setLocation(10 + bounds.x, 10 + bounds.y);
Примечание: расположение и размер окон верхнего уровня (включая Window, Frame и Dialog) контролируются системой управления окнами рабочего стола. Вызовы setLocation, setSize и setBounds являются запросами (а не директивами), которые передаются системе управления окнами. Будут предприняты все усилия для выполнения этих запросов. Однако в некоторых случаях система управления окнами может игнорировать такие запросы или изменить запрашиваемую геометрию, чтобы разместить и масштабировать Window в соответствии с настройками рабочего стола.
Визуальные эффекты, такие как ореолы, тени, эффекты движения и анимации, могут быть применены к окну системой управления окнами рабочего стола. Они находятся вне области знаний и контроля AWT, поэтому для целей данной спецификации не считаются частью окна верхнего уровня.
Из-за асинхронного характера обработки событий с помощью нативных функций результаты, возвращаемые getBounds, getLocation, getLocationOnScreen и getSize, могут не отражать фактической геометрии окна на экране до обработки последнего запроса. Во время обработки последующих запросов эти значения могут измениться соответствующим образом, пока система управления окнами выполняет запросы.
Приложение может произвольно установить размер и положение невидимого Window, но система управления окнами может впоследствии изменить его размер и/или положение при отображении Window. Будет сгенерировано одно или несколько событий ComponentEvent, чтобы указать новую геометрию.
Окна способны генерировать следующие события WindowEvents: WindowOpened, WindowClosed, WindowGainedFocus, WindowLostFocus.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
Window.AccessibleAWTWindow |
Этот класс реализует поддержку доступности для класса Window. |
static enum |
Window.Type |
Перечисление доступных типов окон. |
Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Window |
Создает новое, первоначально невидимое окно с указанным Frame в качестве владельца. |
Window |
Создает новое, первоначально невидимое окно с указанным Window в качестве владельца. |
Window |
Создает новое, первоначально невидимое окно с указанным владельцем Window и GraphicsConfiguration устройства экрана. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addNotify() |
Делает это окно отображаемым, создав подключение к его нативному ресурсу экрана. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей для определённого свойства. |
void |
addWindowFocusListener |
Добавляет указанного слушателя событий фокуса окна для получения событий окна от данного окна. |
void |
addWindowListener |
Добавляет указанного слушателя событий окна для получения событий окна от данного окна. |
void |
addWindowStateListener |
Добавляет указанного слушателя состояния окна для получения событий окна от данного окна. |
void |
applyResourceBundle |
Устарело. |
void |
applyResourceBundle |
Устарело. С J2SE 1.4 заменено на Component.applyComponentOrientation. |
void |
createBufferStrategy |
Создаёт новую стратегию для многобуферизации на этом компоненте. |
void |
createBufferStrategy |
Создаёт новую стратегию для многобуферизации на этом компоненте с необходимыми возможностями буфера. |
void |
dispose() |
Освобождает все нативные ресурсы экрана, используемые этим Window, его подкомпонентами и всеми его дочерними элементами, которые он владеет. |
AccessibleContext |
getAccessibleContext() |
Получает AccessibleContext, связанный с этим окном. |
Color |
getBackground() |
Получает цвет фона этого окна. |
BufferStrategy |
getBufferStrategy() |
Возвращает BufferStrategy, используемый этим компонентом. |
boolean |
getFocusableWindowState() |
Возвращает, может ли это окно стать фокусированным окном, если оно удовлетворяет другим требованиям, изложенным в isFocusableWindow. |
final Container |
getFocusCycleRootAncestor() |
Всегда возвращает null, потому что окна не имеют предков; они представляют вершину иерархии компонентов. |
Component |
getFocusOwner() |
Возвращает дочерний компонент этого окна, у которого есть фокус, если это окно имеет фокус; в противном случае возвращает null. |
Set<AWTKeyStroke> |
getFocusTraversalKeys |
Получает клавишу перехода фокуса для этого окна. |
List<Image> |
getIconImages() |
Возвращает последовательность изображений, которые будут отображаться в качестве значка для этого окна. |
InputContext |
getInputContext() |
Получает контекст ввода для этого окна. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, текуще зарегистрированных как FooListener в этом Window. |
Locale |
getLocale() |
Получает объект Locale, связанный с этим окном, если локаль была установлена. |
Dialog.ModalExclusionType |
getModalExclusionType() |
Возвращает тип исключения модальности этого окна. |
Component |
getMostRecentFocusOwner() |
Возвращает дочерний компонент этого окна, который получит фокус, когда это окно получает фокус. |
float |
getOpacity() |
Возвращает непрозрачность окна. |
Window[] |
getOwnedWindows() |
Возвращает массив всех окон, которыми в данный момент владеет это окно. |
Window |
getOwner() |
Возвращает владельца этого окна. |
static Window[] |
getOwnerlessWindows() |
Возвращает массив всех Window, созданных этим приложением, у которых нет владельца. |
Shape |
getShape() |
Возвращает форму окна. |
Toolkit |
getToolkit() |
Возвращает инструменты этого фрейма. |
Window.Type |
getType() |
Возвращает тип окна. |
final String |
getWarningString() |
Получает строку предупреждения, отображаемую с этим окном. |
WindowFocusListener[] |
getWindowFocusListeners() |
Возвращает массив всех зарегистрированных слушателей событий фокуса окна на этом окне. |
WindowListener[] |
getWindowListeners() |
Возвращает массив всех зарегистрированных слушателей событий окна на этом окне. |
static Window[] |
getWindows() |
Возвращает массив всех Window, как имеющих, так и не имеющих владельца, созданных этим приложением. |
WindowStateListener[] |
getWindowStateListeners() |
Возвращает массив всех зарегистрированных слушателей состояния окна на этом окне. |
void |
hide() |
Устарело. С версии JDK 1.5 заменено на setVisible(boolean). |
boolean |
isActive() |
Возвращает, активно ли это окно. |
final boolean |
isAlwaysOnTop() |
Возвращает, является ли это окно окном всегда сверху. |
boolean |
isAlwaysOnTopSupported() |
Возвращает, поддерживается ли режим всегда сверху для этого окна. |
boolean |
isAutoRequestFocus() |
Возвращает, должно ли это окно получить фокус при последующем отображении (с помощью вызова setVisible(true)) или при перемещении вперёд (с помощью вызова toFront()). |
final boolean |
isFocusableWindow() |
Возвращает, может ли это окно стать фокусированным окном, то есть, может ли это окно или любой из его подкомпонентов стать владельцем фокуса. |
final boolean |
isFocusCycleRoot() |
Всегда возвращает true, потому что все окна должны быть корнями цикла перехода фокуса. |
boolean |
isFocused() |
Возвращает, имеет ли это окно фокус. |
boolean |
isLocationByPlatform() |
Возвращает true, если это окно будет отображаться в стандартном расположении для нативной системы окон в следующий раз, когда это окно станет видимым. |
boolean |
isOpaque() |
Указывает, является ли окно в данный момент непрозрачным. |
boolean |
isShowing() |
Проверяет, отображается ли это окно на экране. |
boolean |
isValidateRoot() |
Указывает, является ли этот контейнер корнем валидации. |
void |
pack() |
Принудительно изменяет размер этого окна так, чтобы оно соответствовало предпочтительному размеру и макетам его подкомпонентов. |
void |
paint |
Отображает контейнер. |
boolean |
postEvent |
Устарело. С версии JDK 1.1 заменено на dispatchEvent(AWTEvent). |
protected void |
processEvent |
Обрабатывает события в этом окне. |
protected void |
processWindowEvent |
Обрабатывает события окна, происходящие в этом окне, рассылаемые любым зарегистрированным объектам WindowListener. |
protected void |
processWindowFocusEvent |
Обрабатывает событие фокуса окна, происходящее в этом окне, рассылаемые любым зарегистрированным объектам WindowFocusListener. |
protected void |
processWindowStateEvent |
Обрабатывает событие состояния окна, происходящее в этом окне, рассылаемые любым зарегистрированным объектам WindowStateListener. |
void |
removeWindowFocusListener |
Удаляет указанного слушателя событий фокуса окна, чтобы он больше не получал события окна от этого окна. |
void |
removeWindowListener |
Удаляет указанный слушатель оконных событий, чтобы он больше не получал события от этого окна. |
void |
removeWindowStateListener |
Удаляет указанного слушателя состояния окна, чтобы он больше не получал события от этого окна. |
void |
reshape |
Устарело. С версии JDK 1.1 заменено на setBounds(int, int, int, int). |
final void |
setAlwaysOnTop |
Устанавливает, должно ли это окно всегда быть поверх других окон. |
void |
setAutoRequestFocus |
Устанавливает, должно ли это окно получать фокус при последующем отображении (с вызовом setVisible(true)) или перемещении на передний план (с вызовом toFront()). |
void |
setBackground |
Устанавливает цвет фона этого окна. |
void |
setBounds |
Перемещает и изменяет размер этого компонента. |
void |
setBounds |
Перемещает и изменяет размер этого компонента в соответствии с новым прямоугольником границ r. |
void |
setCursor |
Устанавливает изображение курсора на указанный курсор. |
void |
setFocusableWindowState |
Устанавливает, может ли это окно стать фокусированным окном, если оно удовлетворяет другим требованиям, изложенным в isFocusableWindow. |
final void |
setFocusCycleRoot |
Ничего не делает, так как окна должны всегда быть корнями цикла перехода фокуса. |
void |
setIconImage |
Устанавливает изображение, которое будет отображаться как значок этого окна. |
void |
setIconImages |
Устанавливает последовательность изображений, которые будут отображаться как значок этого окна. |
void |
setLocation |
Перемещает этот компонент в новое местоположение. |
void |
setLocation |
Перемещает этот компонент в новое местоположение. |
void |
setLocationByPlatform |
Устанавливает, должно ли это окно отображаться по умолчанию для системного отображения или в текущем местоположении (возвращаемом getLocation) в следующий раз, когда окно будет отображено. |
void |
setLocationRelativeTo |
Устанавливает расположение окна относительно указанного компонента в соответствии со следующими сценариями. |
void |
setMinimumSize |
Устанавливает минимальный размер этого окна до постоянного значения. |
void |
setModalExclusionType |
Указывает тип исключения мода для этого окна. |
void |
setOpacity |
Устанавливает непрозрачность окна. |
void |
setShape |
Устанавливает форму окна. |
void |
setSize |
Изменяет размер этого компонента так, чтобы его ширина была width, а высота — height. |
void |
setSize |
Изменяет размер этого компонента так, чтобы его ширина была d.width, а высота — d.height. |
void |
setType |
Устанавливает тип окна. |
void |
setVisible |
Отображает или скрывает это Window в зависимости от значения параметра b. |
void |
show() |
Устарело. С версии JDK 1.5 заменено на setVisible(boolean). |
void |
toBack() |
Если это окно отображается, отправляет это окно на задний план, что может привести к потере фокуса или активации, если это фокусированное или активное окно. |
void |
toFront() |
Если это окно отображается, выводит это окно вперёд и может сделать его фокусированным окном. |
Methods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
Methods declared in class 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, 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, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Подробное описание конструкторов
Окно
public Window(Frame owner)
Frame в качестве владельца. Окно не будет доступно для фокусировки, если его владелец не отображается на экране. Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если эта проверка завершается ошибкой с SecurityException, создаётся баннер предупреждения.
- Параметры:
-
owner- theFrameto act as owner ornullif this window has no owner - Исключения:
-
IllegalArgumentException- еслиowner'sGraphicsConfigurationне из устройства отображения -
HeadlessException- когдаGraphicsEnvironment.isHeadlessвозвращаетtrue - См. также:
Окно
public Window(Window owner)
Window в качестве владельца. Это окно не будет доступно для фокусировки, пока его ближайший владелец Frame или Dialog не отображается на экране. Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если проверка завершается ошибкой с SecurityException, то создаётся баннер предупреждения.
- Параметры:
-
owner- theWindowto act as owner ornullif this window has no owner - Исключения:
-
IllegalArgumentException- еслиowner'sGraphicsConfigurationне из устройства отображения -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - С:
- 1.2
- См. также:
Окно
public Window(Window owner, GraphicsConfiguration gc)
Window и GraphicsConfiguration устройства отображения. Окно не будет доступно для фокусировки, пока ближайший владелец Frame или Dialog отображается на экране. Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если проверка завершается ошибкой с SecurityException, то создаётся баннер предупреждения.
- Параметры:
-
owner- the window to act as owner ornullif this window has no owner -
gc- theGraphicsConfigurationустройства отображения; еслиgcравенnull, используется системный по умолчаниюGraphicsConfiguration - Исключения:
-
IllegalArgumentException- еслиgcне из устройства отображения -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - С:
- 1.3
- См. также:
Подробное описание методов
getIconImages
public List<Image> getIconImages()
Этот метод возвращает копию внутреннего хранилища списка, поэтому все операции с возвращаемым объектом не повлияют на поведение окна.
- Возвращает:
- копию списка значков для этого окна, или пустой список, если у этого окна нет значков.
- С:
- 1.6
- См. также:
setIconImages
public void setIconImages(List<? extends Image> icons)
getIconImages всегда будут возвращать копию списка icons. В зависимости от возможностей платформы используется одно или несколько изображений различных размеров в качестве значка окна.
Список icons может содержать MultiResolutionImage изображения. Подходящее изображение в зависимости от разрешения экрана извлекается из базового изображения MultiResolutionImage и добавляется в список значков, а базовое изображение с разрешением удаляется из списка. Список icons сканируется на наличие изображений наиболее подходящих размеров с начала. Если список содержит несколько изображений одного размера, используется первое.
Окна без владельца, для которых не указан значок, используют значок по умолчанию для платформы. Значок окна-потомка может быть унаследован от владельца, если явно не перезаписан. Установка значка на null или пустой список восстанавливает поведение по умолчанию.
Примечание: Системы окон native могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, список окон, панель задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.
- Параметры:
-
icons- список изображений значка для отображения. - С:
- 1.6
- См. также:
setIconImage
public void setIconImage(Image image)
Этот метод может быть использован вместо setIconImages() для указания единственного изображения в качестве значка окна.
Следующее утверждение:
setIconImage(image);
эквивалентно:
ArrayList<Image> imageList = new ArrayList<Image>();
imageList.add(image);
setIconImages(imageList);
Примечание: Системы окон native могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, список окон, панель задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.
- Параметры:
-
image- изображение значка для отображения. - С:
- 1.6
- См. также:
addNotify
public void addNotify()
- Переопределяет:
-
addNotifyв классеContainer - С:
- 1.0
- См. также:
pack
public void pack()
setMinimumSize. Если окно и/или его владелец ещё не отображаемы, оба из них делаются отображаемыми перед вычислением предпочтительного размера. Окно валидируется после того, как его размер вычисляется.
setMinimumSize
public void setMinimumSize(Dimension minimumSize)
getMinimumSize всегда будут возвращать это значение. Если текущий размер окна меньше minimumSize, размер окна автоматически увеличивается, чтобы соответствовать минимальному размеру. Если методы setSize или setBounds вызываются после этого с шириной или высотой меньше, чем указано методом setMinimumSize, окно автоматически увеличивается, чтобы соответствовать значению minimumSize. Значение minimumSize также влияет на поведение метода pack.
Поведение по умолчанию восстанавливается путём установки параметра минимального размера в значение null.
Операции изменения размера могут быть ограничены, если пользователь пытается изменить размер окна ниже значения minimumSize. Это поведение зависит от платформы.
- Переопределяет:
-
setMinimumSizeв классеComponent - Параметры:
-
minimumSize- новый минимальный размер этого окна - С:
- 1.6
- См. также:
УстановитьРазмер
public void setSize(Dimension d)
d.width и высоту d.height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Значения d.width и d.height автоматически увеличиваются, если любое из них меньше минимального размера, указанного предыдущим вызовом setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может проигнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window размещался и масштабировался в соответствии с настройками рабочего стола.
- Overrides:
-
setSizeв классеComponent - Параметры:
-
d- размер, определяющий новый размер этого компонента - С:
- 1.6
- См. также:
УстановитьРазмер
public void setSize(int width, int height)
width и высоту height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Значения width и height автоматически увеличиваются, если любое из них меньше минимального размера, указанного предыдущим вызовом setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может проигнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window размещался и масштабировался в соответствии с настройками рабочего стола.
- Overrides:
-
setSizeв классеComponent - Параметры:
-
width- новая ширина этого компонента в пикселях -
height- новая высота этого компонента в пикселях - С:
- 1.6
- См. также:
УстановитьПоложение
public void setLocation(int x, int y)
x и y в системе координат родителя этого компонента. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может проигнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window размещался и масштабировался в соответствии с настройками рабочего стола.
- Overrides:
-
setLocationв классеComponent - Параметры:
-
x- координата x левого верхнего угла нового положения в системе координат родителя -
y- координата y левого верхнего угла нового положения в системе координат родителя - См. также:
УстановитьПоложение
public void setLocation(Point p)
p. Точка p задана в системе координат родителя. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может проигнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window размещался и масштабировался в соответствии с настройками рабочего стола.
- Overrides:
-
setLocationв классеComponent - Параметры:
-
p- точка, определяющая левый верхний угол нового положения, заданная в системе координат родителя этого компонента - См. также:
reshape
@Deprecated public void reshape(int x, int y, int width, int height)
setBounds(int, int, int, int).Component- Overrides:
-
reshapeв классеComponent - Параметры:
-
x- координата x левого верхнего угла прямоугольника -
y- координата y левого верхнего угла прямоугольника -
width- ширина прямоугольника -
height- высота прямоугольника
УстановитьВидимость
public void setVisible(boolean b)
Window в зависимости от значения параметра b. Если метод отображает окно, то окно также фокусируется при следующих условиях:
- Окно
Windowсоответствует требованиям, изложенным в методеisFocusableWindow(). - Свойство
WindowокнаautoRequestFocusимеет значениеtrue. - Система отображения позволяет окну
Windowполучить фокус.
autoRequestFocus). Свойство не учитывается, если окно является модальным диалоговым окном, которое блокирует окно, имеющее фокус в настоящее время. Разработчики не должны предполагать, что окно имеет фокус или активно, пока оно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED.
- Overrides:
-
setVisibleв классеComponent - Параметры:
-
b- еслиtrue, делаетWindowвидимым, в противном случае скрываетWindow. ЕслиWindowи/или его владелец ещё не отображаются, оба делаются отображаемыми.Windowбудет проверен перед отображением. ЕслиWindowуже отображается, это приведет к отображениюWindowвпереди.Если
false, скрывает этотWindow, его подкомпоненты и все его дочерние элементы, принадлежащие ему.Windowи его подкомпоненты могут быть сделаны видимыми снова с помощью вызова#setVisible(true). - См. также:
show
@Deprecated public void show()
setVisible(boolean).- Overrides:
-
showв классеComponent - См. также:
hide
@Deprecated public void hide()
setVisible(boolean).show.dispose
public void dispose()
Window, его подкомпонентами и всеми его дочерними элементами, которые он владеет. То есть, ресурсы этих Component будут уничтожены, любая занимаемая ими память будет возвращена ОС, и они будут помечены как недоступные для отображения. Этот Window и его подкомпоненты могут быть снова отображены, пересоздав нативные ресурсы с последующим вызовом pack или show. Состояния пересозданных Window и его подкомпонентов будут идентичны состояниям этих объектов в момент, когда Window был удалён (без учёта дополнительных изменений между этими действиями).
Примечание: Когда последний отображаемый в виртуальной машине Java (VM) окно будет удалено, VM может завершиться. Подробнее см. Проблемы с потоками AWT.
- См. также:
toFront
public void toFront()
Размещает это окно вверху стека и отображает его поверх других окон в этой VM. Никаких действий не будет, если это окно не отображается. Некоторые платформы не позволяют окнам, которые владеют другими окнами, появляться поверх этих принадлежащих им окон. Некоторые платформы могут не позволить этой VM разместить свои окна поверх окон приложений или окон других VM. Это разрешение может зависеть от того, уже ли фокусировано окно в этой VM. Будет предпринята вся попытка поднять это окно как можно выше в стеке; однако разработчики не должны предполагать, что этот метод поместит это окно поверх всех других окон в любой ситуации.
Разработчики никогда не должны предполагать, что это окно является активным или фокусированным, пока это окно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED. На платформах, где окно вверху стека является фокусированным, этот метод вероятно установит фокус на это окно (если оно ещё не фокусировано) при следующих условиях:
- Окно соответствует требованиям, описанным в методе
isFocusableWindow(). - Свойство окна
autoRequestFocusимеет значениеtrue. - Система нативного оконного менеджера позволяет окну получить фокус.
Если этот метод приводит к фокусированию этого окна, и это окно является фреймом или диалоговым окном, оно также будет активировано. Если это окно фокусировано, но это не фрейм или диалоговое окно, то первый фрейм или диалоговое окно, являющееся владельцем этого окна, будет активировано.
Если это окно заблокировано модальным диалоговым окном, то блокирующее диалоговое окно выводится вперёд и остаётся поверх заблокированного окна.
toBack
public void toBack()
Размещает это окно внизу стека и отображает его за другими окнами в этой VM. Никаких действий не будет, если это окно не отображается. Некоторые платформы не позволяют окнам, которые принадлежат другим окнам, появляться ниже их владельцев. Будет предпринята вся попытка поместить это окно как можно ниже в стеке; однако разработчики не должны предполагать, что этот метод поместит это окно ниже всех других окон в любой ситуации.
Из-за различий в нативных оконных системах никакие гарантии о переменах фокусированных и активных окон не могут быть даны. Разработчики никогда не должны предполагать, что это окно больше не фокусированное или активное, пока это окно не получит событие WINDOW_LOST_FOCUS или WINDOW_DEACTIVATED. На платформах, где верхнее окно является фокусированным, этот метод вероятно приведет к потере фокуса этим окном. В этом случае, следующее фокусируемое окно в этой VM получит фокус. На платформах, где порядок стека обычно не влияет на фокусированное окно, этот метод вероятно оставит фокусированные и активные окна без изменений.
- См. также:
getToolkit
public Toolkit getToolkit()
- Переопределяет:
-
getToolkitв классеComponent - Возвращает:
- набор инструментов этого окна.
- См. также:
getWarningString
public final String getWarningString()
AWTPermission("showWindowWithoutWarningBanner"). Если окно безопасно, то getWarningString возвращает null. Если окно небезопасно, этот метод проверяет системную переменную awt.appletWarning и возвращает строковое значение этой переменной.
- Возвращает:
- строку предупреждения для этого окна.
getLocale
public Locale getLocale()
Locale, связанный с этим окном, если язык был задан. Если язык не был задан, возвращается язык по умолчанию.- Переопределяет:
-
getLocaleв классеComponent - Возвращает:
- язык, установленный для этого окна.
- С момента:
- 1.1
- См. также:
getInputContext
public InputContext getInputContext()
- Переопределяет:
-
getInputContextв классеComponent - Возвращает:
- контекст ввода, используемый этим компонентом;
nullесли контекст не может быть определён - С момента:
- 1.2
- См. также:
setCursor
public void setCursor(Cursor cursor)
Метод может не иметь визуального эффекта, если реализация платформы Java и/или нативная система не поддерживают изменение формы курсора мыши.
- Переопределяет:
-
setCursorв классеComponent - Параметры:
-
cursor- Одна из констант, определённых классомCursor. Если этот параметр null, курсор для этого окна будет установлен на тип Cursor.DEFAULT_CURSOR. - С момента:
- 1.1
- См. также:
getOwner
public Window getOwner()
- Возвращает:
- владелец этого окна
- С момента:
- 1.2
getOwnedWindows
public Window[] getOwnedWindows()
- Возвращает:
- массив всех принадлежащих окон
- С момента:
- 1.2
getWindows
public static Window[] getWindows()
Window, как принадлежащих, так и без владельца, созданных этим приложением. Если вызвано из апплета, массив включает только Window, доступные этому апплету. Предупреждение: этот метод может возвращать окна, созданные системой, такие как диалог печати. Приложения не должны предполагать существование этих диалогов, а также ничего не должны предполагать о этих диалогах, таких как положение компонентов, LayoutManager или сериализация.
- Возвращает:
- массив всех
Window, созданных приложением - С момента:
- 1.6
- См. также:
getOwnerlessWindows
public static Window[] getOwnerlessWindows()
Window, созданных этим приложением, у которых нет владельца. Они включают Frame и бесхозные Dialog и Window. Если вызвано из апплета, массив включает только Window, доступные этому апплету. Предупреждение: этот метод может возвращать окна, созданные системой, такие как диалог печати. Приложения не должны предполагать существование этих диалогов, а также ничего не должны предполагать о этих диалогах, таких как положение компонентов, LayoutManager или сериализация.
- Возвращает:
- массив всех бесхозных
Window, созданных этим приложением - С момента:
- 1.6
- См. также:
setModalExclusionType
public void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Dialog.ModalExclusionType для возможных типов исключения модальности. Если заданный тип не поддерживается, используется NO_EXCLUDE.
Примечание: изменение типа исключения модальности для видимого окна может не иметь эффекта до тех пор, пока оно не будет скрыто, а затем показано снова.
- Parameters:
-
exclusionType- тип исключения модальности для этого окна; значениеnullэквивалентноNO_EXCLUDE - Throws:
-
SecurityException- если поток вызова не имеет разрешения на установку свойства исключения модальности для окна с заданнымexclusionType - Since:
- 1.6
- See Also:
getModalExclusionType
public Dialog.ModalExclusionType getModalExclusionType()
- Returns:
- тип исключения модальности этого окна
- Since:
- 1.6
- See Also:
addWindowListener
public void addWindowListener(WindowListener l)
Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий окна - See Also:
addWindowStateListener
public void addWindowStateListener(WindowStateListener l)
l равно null, исключение не выбрасывается, и никаких действий не выполняется. Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий состояния окна - Since:
- 1.4
- See Also:
addWindowFocusListener
public void addWindowFocusListener(WindowFocusListener l)
Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий фокуса окна - Since:
- 1.4
- See Also:
removeWindowListener
public void removeWindowListener(WindowListener l)
Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий окна - See Also:
removeWindowStateListener
public void removeWindowStateListener(WindowStateListener l)
l равно null, исключение не выбрасывается, и никаких действий не выполняется. Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий состояния окна - Since:
- 1.4
- See Also:
removeWindowFocusListener
public void removeWindowFocusListener(WindowFocusListener l)
Обратитесь к Вопросы многопоточности AWT для получения подробностей о модели многопоточности AWT.
- Parameters:
-
l- обработчик событий фокуса окна - Since:
- 1.4
- See Also:
getWindowListeners
public WindowListener[] getWindowListeners()
- Returns:
- все обработчики событий этого окна или пустой массив, если обработчики событий окна не зарегистрированы в настоящее время
- Since:
- 1.4
- See Also:
getWindowFocusListeners
public WindowFocusListener[] getWindowFocusListeners()
- Returns:
- все обработчики событий фокуса этого окна или пустой массив, если обработчики событий фокуса окна не зарегистрированы в настоящее время
- Since:
- 1.4
- See Also:
getWindowStateListeners
public WindowStateListener[] getWindowStateListeners()
- Returns:
- все обработчики событий состояния этого окна или пустой массив, если обработчики событий состояния окна не зарегистрированы в настоящее время
- Since:
- 1.4
- See Also:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener для этого Window. FooListener регистрируются с помощью метода addFooListener. Вы можете указать аргумент listenerType с помощью литерала класса, такого как FooListener.class. Например, вы можете запросить обработчики событий окна для Window w с помощью следующего кода:
WindowListener[] wls = (WindowListener[])(w.getListeners(WindowListener.class));Если таких обработчиков нет, этот метод возвращает пустой массив.
- Overrides:
-
getListenersв классеContainer - 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)
WindowEvent, вызывается метод processWindowEvent, в противном случае вызывается метод родительского класса processEvent. Обратите внимание, что если параметр события является null, поведение не определено и может привести к исключению.
- Overrides:
-
processEventв классеContainer - Параметры:
-
e- событие - См. также:
-
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)
processWindowEvent
protected void processWindowEvent(WindowEvent e)
- Объект WindowListener зарегистрирован через
addWindowListener - События окон включены через
enableEvents
Обратите внимание, что если параметр события является null, поведение не определено и может привести к исключению.
- Параметры:
-
e- событие окна - См. также:
processWindowFocusEvent
protected void processWindowFocusEvent(WindowEvent e)
- WindowFocusListener зарегистрирован через
addWindowFocusListener - События фокуса окна включены через
enableEvents
Обратите внимание, что если параметр события является null, поведение не определено и может привести к исключению.
- Параметры:
-
e- событие фокуса окна - С тех пор:
- 1.4
- См. также:
processWindowStateEvent
protected void processWindowStateEvent(WindowEvent e)
WindowStateListener. ПРИМЕЧАНИЕ: этот метод не будет вызван, если события состояния окна не включены для этого окна. Это происходит, когда происходит одно из следующих событий: WindowStateListenerзарегистрирован черезaddWindowStateListener- События состояния окна включены через
enableEvents
Обратите внимание, что если параметр события является null, поведение не определено и может привести к исключению.
- Параметры:
-
e- событие состояния окна - С тех пор:
- 1.4
- См. также:
setAlwaysOnTop
public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException
Если какое-либо другое окно уже всегда находится сверху, то относительный порядок между этими окнами не определен (зависит от платформы). Никакое окно не может быть помещено поверх окна, всегда находящегося сверху, за исключением, возможно, другого окна, всегда находящегося сверху.
Все окна, принадлежащие окну, всегда находящемуся сверху, наследуют этот статус и автоматически становятся окнами, всегда находящимися сверху. Если окно перестает быть окном, всегда находящимся сверху, окна, ему принадлежащие, больше не будут окнами, всегда находящимися сверху. Когда окно, всегда находящееся сверху, отправляется в toBack, его статус «всегда сверху» устанавливается в false.
При вызове этого метода для окна со значением true, если окно видимое и платформа поддерживает состояние «всегда сверху» для этого окна, окно сразу же перемещается вперед, «прилипая» к самому верхнему положению. Если окно в данный момент не видимо, этот метод устанавливает состояние «всегда сверху» в true, но не перемещает окно вперед. Позже, когда окно будет показано, оно будет окном «всегда сверху».
При вызове этого метода для окна со значением false статус «всегда сверху» устанавливается в обычный. Это также может вызвать неопределенные, зависящие от платформы изменения в порядке следования окон верхнего уровня, но другие окна, всегда находящиеся сверху, останутся в верхнем положении. Вызов этого метода со значением false для окна в обычном состоянии не имеет эффекта.
Примечание: некоторые платформы могут не поддерживать окна «всегда сверху». Чтобы определить, поддерживает ли текущая платформа окна «всегда сверху», используйте Toolkit.isAlwaysOnTopSupported() и isAlwaysOnTopSupported(). Если режим «всегда сверху» не поддерживается для этого окна или набор инструментов этого окна не поддерживает окна «всегда сверху», вызов этого метода не имеет эффекта.
Если установлен SecurityManager, вызывающая нить должна иметь разрешение AWTPermission «setWindowAlwaysOnTop», чтобы установить значение этого свойства. Если это разрешение не предоставлено, этот метод выбросит SecurityException, и текущее значение свойства останется неизменным.
- Параметры:
-
alwaysOnTop- true, если окно должно всегда быть сверху других окон - Исключения:
-
SecurityException- если вызывающая нить не имеет разрешения установить значение свойства «всегда сверху» - С тех пор:
- 1.5
- См. также:
isAlwaysOnTopSupported
public boolean isAlwaysOnTopSupported()
- Возвращает:
-
true, если режим «всегда сверху» поддерживается для этого окна и набор инструментов этого окна поддерживает окна «всегда сверху»,falseв противном случае - С тех пор:
- 1.6
- См. также:
isAlwaysOnTop
public final boolean isAlwaysOnTop()
- Возвращает:
-
true, если окно находится в состоянии «всегда сверху»,falseв противном случае - С тех пор:
- 1.5
- См. также:
getFocusOwner
public Component getFocusOwner()
- Возвращает:
- дочерний компонент с фокусом или null, если у этого окна нет фокуса
- См. также:
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
getFocusOwner(). Если у этого окна нет фокуса, то возвращается дочерний компонент, который последний запросил фокус. Если ни один дочерний компонент никогда не запрашивал фокус, и это фокусируемое окно, то возвращается начальный фокусируемый компонент этого окна. Если ни один дочерний компонент никогда не запрашивал фокус, и это не фокусируемое окно, возвращается null.- Возвращает:
- дочерний компонент, который получит фокус, когда это окно получит фокус
- С тех пор:
- 1.4
- См. также:
isActive
public boolean isActive()
- Возвращает:
- является ли это окно активным.
- С тех пор:
- 1.4
- См. также:
isFocused
public boolean isFocused()
Если фокусированное окно является фреймом или диалоговым окном, то оно также является активным окном. В противном случае активным окном является первый фрейм или диалоговое окно, являющееся владельцем фокусированного окна.
- Возвращает:
- является ли это окно фокусированным.
- Since:
- 1.4
- См. также:
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys для полного описания каждой клавиши.) Если клавиша перехода фокуса не была явно задана для этого окна, возвращается клавиша перехода фокуса родительского окна. Если клавиша перехода фокуса не была явно задана ни для одного из предков этого окна, возвращается стандартная клавиша перехода фокуса текущего менеджера фокуса клавиатуры.
- Overrides:
-
getFocusTraversalKeysв классеContainer - Параметры:
-
id- одна из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
- AWTKeyStroke для указанной клавиши
- Исключения:
-
IllegalArgumentException- если id не равен одной из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Since:
- 1.4
- См. также:
setFocusCycleRoot
public final void setFocusCycleRoot(boolean focusCycleRoot)
- Overrides:
-
setFocusCycleRootв классеContainer - Параметры:
-
focusCycleRoot- это значение игнорируется - Since:
- 1.4
- См. также:
isFocusCycleRoot
public final boolean isFocusCycleRoot()
true, потому что все окна должны быть корнями цикла перехода фокуса.- Overrides:
-
isFocusCycleRootв классеContainer - Возвращает:
true- Since:
- 1.4
- См. также:
getFocusCycleRootAncestor
public final Container getFocusCycleRootAncestor()
null, потому что окна не имеют предков; они представляют собой вершину иерархии компонентов.- Overrides:
-
getFocusCycleRootAncestorв классеComponent - Возвращает:
null- Since:
- 1.4
- См. также:
isFocusableWindow
public final boolean isFocusableWindow()
true. Для того, чтобы окно, которое не является фреймом или диалоговым окном, было фокусируемым, его состояние фокусируемого окна должно быть установлено в true, его ближайшее владеющее фрейм или диалоговое окно должно быть отображено на экране, и оно должно содержать по крайней мере один компонент в цикле перехода фокуса. Если какое-либо из этих условий не выполняется, то ни это окно, ни какой-либо из его подкомпонентов не может стать владельцем фокуса.- Возвращает:
-
true, если это окно может быть фокусированным окном;falseв противном случае - Since:
- 1.4
- См. также:
getFocusableWindowState
public boolean getFocusableWindowState()
isFocusableWindow. Если этот метод возвращает false, то isFocusableWindow также вернет false. Если этот метод возвращает true, то isFocusableWindow может вернуть true или false, в зависимости от других требований, которые должны быть выполнены для того, чтобы окно было фокусируемым. По умолчанию все окна имеют состояние фокусируемого окна true.
- Возвращает:
- может ли это окно быть фокусированным окном
- Since:
- 1.4
- См. также:
setFocusableWindowState
public void setFocusableWindowState(boolean focusableWindowState)
isFocusableWindow. Если состояние фокусируемого окна этого окна установлено в false, то isFocusableWindow вернёт false. Если состояние фокусируемого окна этого окна установлено в true, то isFocusableWindow может вернуть true или false, в зависимости от других требований, которые должны быть выполнены для того, чтобы окно было фокусируемым. Установка состояния фокусируемости окна в false — стандартный механизм, с помощью которого приложение сообщает AWT о том, что окно будет использоваться в качестве плавающего подменю или панели инструментов и, следовательно, должно быть нефокусируемым. Установка состояния фокусируемости для видимого Window может иметь отложенный эффект на некоторых платформах — фактическое изменение может произойти только тогда, когда Window снова скроется и затем станет видимым. Для обеспечения согласованного поведения на всех платформах установите состояние фокусируемости Window, когда Window невидимо, а затем отобразите его.
- Параметры:
-
focusableWindowState- может ли это окно быть фокусированным окном - Since:
- 1.4
- См. также:
setAutoRequestFocus
public void setAutoRequestFocus(boolean autoRequestFocus)
setVisible(true)) или перемещении на передний план (с вызовом toFront()). Обратите внимание, что setVisible(true) может быть вызван косвенно (например, при отображении владельца окна, которое приводит к отображению окна). toFront() также может быть вызван косвенно (например, когда setVisible(true) вызывается для уже видимого окна). Во всех таких случаях это свойство также действует.
Значение свойства не наследуется дочерними окнами.
- Параметры:
-
autoRequestFocus- должно ли это окно получать фокус при последующем отображении или перемещении на передний план - Since:
- 1.7
- См. также:
isAutoRequestFocus
public boolean isAutoRequestFocus()
setVisible(true)) или перемещении на передний план (с вызовом toFront()). По умолчанию окно имеет значение autoRequestFocus true.
- Возвращает:
-
значение
autoRequestFocus - Since:
- 1.7
- См. также:
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
- шрифт этого окна ("font")
- цвет фона этого окна ("background")
- цвет переднего плана этого окна ("foreground")
- возможность получения фокуса этим окном ("focusable")
- состояние включения клавиш перехода фокуса для этого окна ("focusTraversalKeysEnabled")
- набор клавиш перехода фокуса вперёд этого окна ("forwardFocusTraversalKeys")
- набор клавиш перехода фокуса назад этого окна ("backwardFocusTraversalKeys")
- набор клавиш перехода фокуса вверх этого окна ("upCycleFocusTraversalKeys")
- набор клавиш перехода фокуса вниз этого окна ("downCycleFocusTraversalKeys")
- политика перехода фокуса этого окна ("focusTraversalPolicy")
- состояние окна, допускающего фокус ("focusableWindowState")
- состояние окна всегда поверх ("alwaysOnTop")
Если listener равен null, исключение не выбрасывается, и никакие действия не выполняются.
- Overrides:
-
addPropertyChangeListenerв классеContainer - Parameters:
-
listener- добавляемый обработчик PropertyChangeListener - See Also:
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
- шрифт этого окна ("font")
- цвет фона этого окна ("background")
- цвет переднего плана этого окна ("foreground")
- возможность получения фокуса этим окном ("focusable")
- состояние включения клавиш перехода фокуса для этого окна ("focusTraversalKeysEnabled")
- набор клавиш перехода фокуса вперёд этого окна ("forwardFocusTraversalKeys")
- набор клавиш перехода фокуса назад этого окна ("backwardFocusTraversalKeys")
- набор клавиш перехода фокуса вверх этого окна ("upCycleFocusTraversalKeys")
- набор клавиш перехода фокуса вниз этого окна ("downCycleFocusTraversalKeys")
- политика перехода фокуса этого окна ("focusTraversalPolicy")
- состояние окна, допускающего фокус ("focusableWindowState")
- состояние окна всегда поверх ("alwaysOnTop")
Если listener равен null, исключение не выбрасывается, и никакие действия не выполняются.
- Overrides:
-
addPropertyChangeListenerв классеContainer - Parameters:
-
propertyName- одно из имён свойств, перечисленных выше -
listener- добавляемый обработчик PropertyChangeListener - See Also:
isValidateRoot
public boolean isValidateRoot()
Window объекты являются корнями проверки, и, следовательно, они переопределяют этот метод, чтобы вернуть true.
- Overrides:
-
isValidateRootв классеContainer - Returns:
true- Since:
- 1.7
- See Also:
postEvent
@Deprecated public boolean postEvent(Event e)
dispatchEvent(AWTEvent).MenuContainer- Specified by:
-
postEventв интерфейсеMenuContainer - Overrides:
-
postEventв классеComponent - Parameters:
-
e- событие для обработки - Returns:
- результат отправки события
isShowing
public boolean isShowing()
- Overrides:
-
isShowingв классеComponent - Returns:
-
true, если компонент отображается,falseв противном случае - See Also:
applyResourceBundle
@Deprecated public void applyResourceBundle(ResourceBundle rb)
Component.applyComponentOrientation.- Parameters:
-
rb- набор ресурсов
applyResourceBundle
@Deprecated public void applyResourceBundle(String rbName)
Component.applyComponentOrientation.- Parameters:
-
rbName- имя набора ресурсов
setType
public void setType(Window.Type type)
- Parameters:
-
type- тип окна - Throws:
-
IllegalComponentStateException- если окно отображается. -
IllegalArgumentException- если тип являетсяnull - Since:
- 1.7
- See Also:
getType
public Window.Type getType()
- Returns:
- тип окна
- Since:
- 1.7
- See Also:
getAccessibleContext
public AccessibleContext getAccessibleContext()
- Specified by:
-
getAccessibleContextв интерфейсеAccessible - Overrides:
-
getAccessibleContextв классеComponent - Returns:
- AccessibleAWTWindow, служащий AccessibleContext для этого окна
- Since:
- 1.3
setLocationRelativeTo
public void setLocationRelativeTo(Component c)
Целевой экран, упомянутый ниже, — это экран, на который должно быть помещено окно после вызова метода setLocationRelativeTo.
- Если компонент является
null, илиGraphicsConfiguration, связанный с этим компонентом, являетсяnull, окно помещается в центр экрана. Центральную точку можно получить с помощью методаGraphicsEnvironment.getCenterPoint. - Если компонент не
null, но он не отображается, окно помещается в центр целевого экрана, определённогоGraphicsConfiguration, связанным с этим компонентом. - Если компонент не
nullи отображается на экране, то окно размещается так, что центр окна совпадает с центром компонента.
Если конфигурация экранов не позволяет переместить окно с одного экрана на другой, то окно размещается только в позиции, определённой в соответствии с вышеперечисленными условиями, и его GraphicsConfiguration не изменяется.
Примечание: Если нижний край окна выходит за пределы экрана, то окно помещается на сторону Component, которая ближе к центру экрана. Таким образом, если компонент находится в правой части экрана, окно помещается слева, и наоборот.
Если после расчёта расположения окна верхний, левый или правый край окна выходит за пределы экрана, то окно размещается так, что верхний, левый или правый край окна совпадает с соответствующим краем экрана. Если оба левых и правых края окна выходят за пределы экрана, окно помещается слева от экрана. Аналогичное размещение произойдёт, если оба верхний и нижний края выходят за пределы экрана. В этом случае окно размещается в верхней части экрана.
Метод изменяет данные, относящиеся к геометрии. Поэтому система окон может игнорировать такие запросы или изменять запрошенные данные, так что Window объект размещается и масштабируется соответствующим образом к настройкам рабочего стола.
- Parameters:
-
c- компонент, относительно которого определяется расположение окна - Since:
- 1.4
- See Also:
createBufferStrategy
public void createBufferStrategy(int numBuffers)
Каждый раз при вызове этого метода существующая стратегия буферизации для этого компонента отбрасывается.
- Parameters:
-
numBuffers- количество буферов для создания - Throws:
-
IllegalArgumentException- если numBuffers меньше 1. -
IllegalStateException- если компонент недоступен для отображения - Since:
- 1.4
- See Also:
createBufferStrategy
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
Каждый раз при вызове этого метода существующая стратегия буферизации для этого компонента отбрасывается.
- Parameters:
-
numBuffers- количество буферов для создания, включая передний буфер -
caps- необходимые возможности для создания стратегии буферизации; не может бытьnull - Throws:
-
AWTException- если предоставленные возможности не могут быть поддержаны; это может произойти, например, если нет достаточного количества ускоренной памяти или если указано переключение страниц, но оно невозможно. -
IllegalArgumentException- если numBuffers меньше 1 или если capsnull - Since:
- 1.4
- See Also:
getBufferStrategy
public BufferStrategy getBufferStrategy()
- Returns:
- стратегия буферизации, используемая этим компонентом
- Since:
- 1.4
- See Also:
setLocationByPlatform
public void setLocationByPlatform(boolean locationByPlatform)
getLocation), при следующем отображении. Это поведение напоминает отображение системного окна без программной установки его местоположения. Большинство систем окон распологают окна по каскаду, если их местоположение не задано явно. Фактическое местоположение определяется после отображения окна на экране. Это поведение можно также включить, установив системную переменную "java.awt.Window.locationByPlatform" в "true", хотя вызовы этого метода имеют приоритет.
Вызовы методов setVisible, setLocation и setBounds после вызова setLocationByPlatform очищают эту собственность окна.
Например, после выполнения следующего кода:
setLocationByPlatform(true); setVisible(true); boolean flag = isLocationByPlatform();Окно будет отображено по умолчанию для платформы, и
flag будет false. В следующем примере:
setLocationByPlatform(true); setLocation(10, 10); boolean flag = isLocationByPlatform(); setVisible(true);Окно будет отображено по координатам (10, 10), а
flag будет false.- Parameters:
-
locationByPlatform-trueесли это окно должно появиться по умолчанию,falseесли по текущим координатам - Throws:
-
IllegalComponentStateException- если окно отображается на экране, а locationByPlatformtrue. - Since:
- 1.5
- See Also:
isLocationByPlatform
public boolean isLocationByPlatform()
true, если это окно будет отображено по умолчанию для системного окна в следующий раз, когда это окно будет отображено. Этот метод всегда возвращает false, если окно уже отображается на экране.- Returns:
- должно ли окно отображаться по умолчанию
- Since:
- 1.5
- See Also:
setBounds
public void setBounds(int x, int y, int width, int height)
x и y, а новый размер задаётся значениями width и height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Значения width или height автоматически увеличиваются, если любое из них меньше минимального размера, как указано в предыдущем вызове setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому системное окно может игнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
- Overrides:
-
setBoundsin classComponent - Parameters:
-
x- новая координата x этого компонента -
y- новая координата y этого компонента -
width- новыйwidthэтого компонента -
height- новыйheightэтого компонента - Since:
- 1.6
- See Also:
setBounds
public void setBounds(Rectangle r)
r. Новое местоположение компонента задаётся значениями r.x и r.y, а новый размер задаётся значениями r.width и r.height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонента.
Значения r.width или r.height будут автоматически увеличены, если любое из них меньше минимального размера, как указано в предыдущем вызове setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому системное окно может игнорировать такие запросы или изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
- Overrides:
-
setBoundsin classComponent - Parameters:
-
r- новый прямоугольник для этого компонента - Since:
- 1.6
- See Also:
getOpacity
public float getOpacity()
- Returns:
- непрозрачность окна
- Since:
- 1.7
- See Also:
setOpacity
public void setOpacity(float opacity)
Значение непрозрачности находится в диапазоне [0..1]. Обратите внимание, что установка уровня непрозрачности 0 может или не может отключить обработку событий мыши в этом окне. Это зависит от платформы.
Для установки значения непрозрачности меньше чем 1.0f должны быть выполнены следующие условия:
- Прозрачность
TRANSLUCENTдолжна поддерживаться базовой системой - Окно должно быть без декораций (см.
Frame.setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если запрошенное значение непрозрачности меньше чем 1.0f, и ни одно из вышеперечисленных условий не выполнено, непрозрачность окна не изменится, и будет выброшено исключение IllegalComponentStateException.
Уровни прозрачности отдельных пикселей также могут быть изменены альфа-компонентом их цвета (см. setBackground(Color)) и текущей формой этого окна (см. setShape(Shape)).
- Parameters:
-
opacity- уровень непрозрачности, который нужно установить для окна - Throws:
-
IllegalArgumentException- если непрозрачность выходит за пределы диапазона [0..1] -
IllegalComponentStateException- если окно декорировано, а непрозрачность меньше чем1.0f -
IllegalComponentStateException- если окно в полноэкранном режиме, а непрозрачность меньше чем1.0f -
UnsupportedOperationException- если прозрачностьGraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENTне поддерживается, а непрозрачность меньше чем1.0f - Since:
- 1.7
- See Also:
getShape
public Shape getShape()
setShape(shape), но гарантирует, что оно представляет ту же форму.- Returns:
- форма окна или
null, если для окна не указана форма - Since:
- 1.7
- See Also:
setShape
public void setShape(Shape shape)
Установка формы обрезает некоторые части окна. Видимыми и кликабельными остаются только части, принадлежащие заданной Shape. Если аргумент shape равен null, этот метод восстанавливает форму по умолчанию, делая окно прямоугольным на большинстве платформ.
Для установки ненулевой формы должны быть выполнены следующие условия:
- Прозрачность
PERPIXEL_TRANSPARENTдолжна поддерживаться базовой системой - Окно должно быть без декораций (см.
Frame.setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если заданная форма не null, и ни одно из вышеперечисленных условий не выполнено, форма этого окна не изменится, и будет выброшено исключение UnsupportedOperationException или
IllegalComponentStateException.
Уровни прозрачности отдельных пикселей также могут быть изменены альфа-компонентом их цвета (см. setBackground(Color)) и значением непрозрачности (см. setOpacity(float)). Дополнительная информация содержится в GraphicsDevice.WindowTranslucency.
- Parameters:
-
shape- форма, которую нужно установить для окна - Throws:
-
IllegalComponentStateException- если форма неnullи окно декорировано -
IllegalComponentStateException- если форма неnullи окно в полноэкранном режиме -
UnsupportedOperationException- если форма неnullи прозрачностьPERPIXEL_TRANSPARENTне поддерживается - Since:
- 1.7
- See Also:
getBackground
public Color getBackground()
Обратите внимание, что альфа-компонента возвращаемого цвета указывает, находится ли окно в непрозрачном (прозрачном на уровне пикселей) режиме.
- Overrides:
-
getBackgroundin classComponent - Returns:
- цвет фона компонента
- See Also:
setBackground
public void setBackground(Color bgColor)
Если система окон поддерживает прозрачность PERPIXEL_TRANSLUCENT, альфа-компонент заданного цвета фона может влиять на режим работы этого окна: он указывает, должно ли это окно быть непрозрачным (альфа равна 1.0f) или полупрозрачным с пиксельной прозрачностью (альфа меньше 1.0f). Если заданный цвет фона является null, окно считается полностью непрозрачным.
Для включения режима пиксельной прозрачности для этого окна должны выполняться следующие условия:
- Прозрачность
PERPIXEL_TRANSLUCENTдолжна поддерживаться графическим устройством, на котором расположено это окно - Окно должно быть без декораций (см.
Frame.setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если альфа-компонент запрошенного цвета фона меньше 1.0f, и ни одно из вышеперечисленных условий не выполняется, цвет фона этого окна не изменится, альфа-компонент заданного цвета фона не повлияет на режим работы окна, и будет выброшено либо UnsupportedOperationException, либо
IllegalComponentStateException.
Когда окно полупрозрачно с пиксельной прозрачностью, подсистема рисования учитывает значение альфа-канала каждого отдельного пикселя. Если пиксель окрашивается с альфа-каналом, равным нулю, он становится визуально прозрачным. Если альфа пикселя равна 1.0f, пиксель полностью непрозрачен. Промежуточные значения альфа-канала делают пиксель полупрозрачным. В этом режиме фон окна окрашивается со значением альфа-канала заданного цвета фона. Если значение альфа-канала аргумента этого метода равно 0, фон вообще не отрисовывается.
Фактический уровень прозрачности данного пикселя также зависит от непрозрачности окна (см. setOpacity(float)), а также от текущей формы этого окна (см. setShape(Shape)).
Обратите внимание, что покраска пикселя с альфа-каналом 0 может или не может отключить обработку событий мыши на этом пикселе. Это поведение зависит от платформы. Чтобы убедиться, что события мыши не отправляются на определенный пиксель, пиксель необходимо исключить из формы окна.
Включение режима пиксельной прозрачности может изменить конфигурацию графики этого окна из-за требований родной платформы.
- Overrides:
-
setBackgroundв классеComponent - Parameters:
-
bgColor- цвет, который должен стать цветом фона этого окна. - Throws:
-
IllegalComponentStateException- если значение альфа-канала заданного цвета фона меньше1.0f, и окно имеет декорации -
IllegalComponentStateException- если значение альфа-канала заданного цвета фона меньше1.0f, и окно находится в полноэкранном режиме -
UnsupportedOperationException- если значение альфа-канала заданного цвета фона меньше1.0f, и прозрачностьPERPIXEL_TRANSLUCENTне поддерживается - See Also:
isOpaque
public boolean isOpaque()
Метод возвращает false, если цвет фона окна не null и альфа-компонент цвета меньше 1.0f. В противном случае метод возвращает true.
- Overrides:
-
isOpaqueв классеComponent - Returns:
-
true, если окно непрозрачно,falseв противном случае - Since:
- 1.7
- See Also:
paint
public void paint(Graphics g)
- Overrides:
-
paintв классеContainer - Parameters:
-
g- указанное окно Graphics - Since:
- 1.7
- 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/Window.html
Component.applyComponentOrientation.