Класс Window
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible
- Непосредственные известные подклассы:
-
BasicToolBarUI.DragWindow,Dialog,Frame,JWindow
public class Window extends Container implements Accessible
Window представляет собой окно верхнего уровня без рамок и панели меню. По умолчанию для окна используется компоновка BorderLayout. Окно должно иметь заданный в качестве владельца фрейм, диалоговое окно или другое окно при создании.
В многоэкранной среде вы можете создать окно 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.
- Since:
- 1.0
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 |
getFocusTraversalKeys |
Получает клавишу перемещения фокуса для этого окна. |
List |
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() |
Устаревшее, для удаления: Этот элемент API может быть удалён в будущей версии. с JDK 24 |
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() |
Если это окно отображается, перемещает это окно вперёд и может сделать его фокусированным окном. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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 в качестве владельца. Окно не будет фокусируемым, если его владелец не отображается на экране.- Параметры:
-
owner-Frame, который будет владельцем, илиnull, если у этого окна нет владельца - Исключения:
-
IllegalArgumentException- еслиownerвладельца не отображается на экране -
HeadlessException- когдаGraphicsEnvironment.isHeadlessвозвращаетtrue - См. также:
Окно
public Window(Window owner)
Window в качестве владельца. Это окно не будет фокусируемым, если ближайшее окно-владелец или Dialog не отображается на экране.- Параметры:
-
owner-Window, который будет владельцем, илиnull, если у этого окна нет владельца - Исключения:
-
IllegalArgumentException- еслиownerвладельца не отображается на экране -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - С:
- 1.2
- См. также:
Окно
public Window(Window owner, GraphicsConfiguration gc)
Window и конфигурацией GraphicsConfiguration устройства экрана. Окно не будет фокусируемым, если ближайшее окно-владелец или Dialog не отображается на экране.- Параметры:
-
owner- окно, которое будет владельцем, илиnull, если у этого окна нет владельца -
gc- конфигурацияGraphicsConfigurationцелевого устройства экрана; если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 или пустой список восстанавливает поведение по умолчанию.
Примечание: системы графического интерфейса могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, списка окон, панели задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.
- Параметры:
-
icons- список изображений значков для отображения. - С:
- 1.6
- См. также:
setIconImage
public void setIconImage(Image image)
Этот метод можно использовать вместо setIconImages() для указания одного изображения в качестве значка окна.
Следующее утверждение:
setIconImage(image);
эквивалентно:
ArrayList<Image> imageList = new ArrayList<Image>();
imageList.add(image);
setIconImages(imageList);
Примечание: системы графического интерфейса могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, списка окон, панели задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.
- Параметры:
-
image- изображение значка для отображения. - С:
- 1.6
- См. также:
addNotify
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
- См. также:
setSize
public void setSize(Dimension d)
d.width и высоту d.height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.
Значения d.width и d.height автоматически увеличиваются, если хотя бы одно из них меньше минимального размера, указанного предыдущим вызовом метода setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
setSize
public void setSize(int width, int height)
width и высоту height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.
Значения width и height автоматически увеличиваются, если хотя бы одно из них меньше минимального размера, указанного предыдущим вызовом метода setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
setLocation
public void setLocation(int x, int y)
x и y в системе координат родительского компонента. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
- Overrides:
-
setLocationв классеComponent - Parameters:
-
x- координата x верхнего левого угла нового положения в системе координат родителя -
y- координата y верхнего левого угла нового положения в системе координат родителя - See Also:
setLocation
public void setLocation(Point p)
p. Точка p задаётся в системе координат родителя. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.
Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.
- Overrides:
-
setLocationв классеComponent - Parameters:
-
p- точка, определяющая верхний левый угол нового положения, заданная в системе координат родительского компонента - See Also:
reshape
@Deprecated public void reshape(int x, int y, int width, int height)
setBounds(int, int, int, int).ComponentsetVisible
public void setVisible(boolean b)
Window в зависимости от значения параметра b. Если метод показывает окно, то окно также получает фокус в следующих условиях:
- Окно
Windowотвечает требованиям, изложенным в методеisFocusableWindow(). - Свойство
Windowокна имеет значениеtrue. - Система отображения позволяет окну
Windowполучить фокус.
autoRequestFocus). Свойство не учитывается, если окно является модальным диалоговым окном, которое блокирует окно, имеющее фокус в данный момент. Разработчики не должны предполагать, что окно имеет фокус или активно, пока не получат событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED.
- Overrides:
-
setVisibleв классеComponent - Parameters:
-
b- еслиtrue, делаетWindowвидимым, в противном случае скрываетWindow. ЕслиWindowи/или его владелец ещё не отображаются, оба становятся отображаемыми.Windowбудет проверен перед отображением. ЕслиWindowуже видим, это приведетWindowна передний план.Если
false, скрывает этотWindow, его подкомпоненты и все его дочерние элементы, принадлежащие ему.Windowи его подкомпоненты можно сделать видимыми снова, вызвав метод#setVisible(true). - See Also:
show
@Deprecated public void show()
setVisible(boolean).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()
Это окно помещается в верхнюю часть стека и отображается поверх всех других окон в этой виртуальной машине. Действий не будет, если это окно невидимое. Некоторые платформы не позволяют окнам, содержащим другие окна, отображаться поверх своих содержащихся окон. Некоторые платформы могут не разрешать этой виртуальной машине размещать свои окна поверх окон приложений или окон других виртуальных машин. Это разрешение может зависеть от того, фокусировано ли уже окно в этой виртуальной машине. Будут предприняты все возможные попытки переместить это окно как можно выше в стеке; однако разработчики не должны полагаться на то, что этот метод поместит это окно поверх всех других окон в каждой ситуации.
Разработчики никогда не должны предполагать, что это окно является фокусным или активным, пока это окно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED. На платформах, где верхнее окно является фокусным, этот метод, вероятно, переведет это окно в фокус (если оно еще не фокусное) при следующих условиях:
- Окно соответствует требованиям, описанным в методе
isFocusableWindow(). - Свойство окна
autoRequestFocusимеет значениеtrue. - Системное окно позволяет окну получить фокус.
Если этот метод заставит это окно стать фокусным, и это окно является фреймом или диалоговым окном, оно также будет активировано. Если это окно является фокусным, но не фреймом или диалоговым окном, то первый фрейм или диалоговое окно, которое является владельцем этого окна, будет активировано.
Если это окно заблокировано модальным диалоговым окном, то блокирующее диалоговое окно выводится вперед и остается над заблокированным окном.
- См. также:
toBack
public void toBack()
Это окно помещается в нижнюю часть стека и отображается позади всех других окон в этой виртуальной машине. Действий не будет, если это окно невидимое. Некоторые платформы не позволяют окнам, являющимся дочерними для других окон, отображаться ниже своих владельцев. Будут предприняты все возможные попытки переместить это окно как можно ниже в стеке; однако разработчики не должны полагаться на то, что этот метод поместит это окно ниже всех других окон в каждой ситуации.
Из-за различий в системных оконных системах, никакие гарантии относительно изменений фокусных и активных окон не могут быть даны. Разработчики никогда не должны предполагать, что это окно больше не фокусное или активное, пока это окно не получит событие WINDOW_LOST_FOCUS или WINDOW_DEACTIVATED. На платформах, где верхнее окно является фокусным, этот метод, вероятно, заставит это окно потерять фокус. В этом случае следующий фокусируемый верхний слой в этой виртуальной машине получит фокус. На платформах, где порядок стека обычно не влияет на фокусное окно, этот метод, вероятно, не изменит фокусное и активное окно.
- См. также:
getToolkit
public Toolkit getToolkit()
- Переопределяет:
-
getToolkitв классеComponent - Возвращает:
- набор инструментов этого окна.
- См. также:
getWarningString
@Deprecated(since="24", forRemoval=true) public final String getWarningString()
Строки предупреждений больше не применимы, поэтому этот метод всегда возвращает null и может быть удален в будущей версии.
- Возвращает:
- null
getLocale
getInputContext
public InputContext getInputContext()
- Переопределяет:
-
getInputContextв классеComponent - Возвращает:
- контекст ввода, используемый этим компонентом;
null, если контекст не может быть определён - С:
- 1.2
- См. также:
setCursor
public void setCursor(Cursor cursor)
Метод может не иметь визуального эффекта, если реализация платформы Java и/или системная среда не поддерживают изменение формы курсора мыши.
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.
Примечание: изменение типа исключения модальности для видимого окна может не иметь эффекта, пока оно не будет скрыто, а затем показано снова.
- Параметры:
-
exclusionType- тип исключения модальности для этого окна; значениеnullэквивалентноNO_EXCLUDE - С момента:
- 1.6
- См. также:
getModalExclusionType
public Dialog.ModalExclusionType getModalExclusionType()
- Возвращает:
- тип исключения модальности этого окна
- С момента:
- 1.6
- См. также:
addWindowListener
public void addWindowListener(WindowListener l)
См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель оконных событий - См. также:
addWindowStateListener
public void addWindowStateListener(WindowStateListener l)
l равно null, исключение не выбрасывается и никаких действий не выполняется. См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель состояний окна - С момента:
- 1.4
- См. также:
addWindowFocusListener
public void addWindowFocusListener(WindowFocusListener l)
См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель фокуса окна - С момента:
- 1.4
- См. также:
removeWindowListener
public void removeWindowListener(WindowListener l)
См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель оконных событий - См. также:
removeWindowStateListener
public void removeWindowStateListener(WindowStateListener l)
l равно null, исключение не выбрасывается и никаких действий не выполняется. См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель состояний окна - С момента:
- 1.4
- См. также:
removeWindowFocusListener
public void removeWindowFocusListener(WindowFocusListener l)
См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.
- Параметры:
-
l- слушатель фокуса окна - С момента:
- 1.4
- См. также:
getWindowListeners
public WindowListener[] getWindowListeners()
- Возвращает:
- все слушатели оконных событий этого окна или пустой массив, если слушатели оконных событий в настоящее время не зарегистрированы
- С момента:
- 1.4
- См. также:
getWindowFocusListeners
public WindowFocusListener[] getWindowFocusListeners()
- Возвращает:
- все слушатели фокуса окна этого окна или пустой массив, если слушатели фокуса окна в настоящее время не зарегистрированы
- С момента:
- 1.4
- См. также:
getWindowStateListeners
public WindowStateListener[] getWindowStateListeners()
- Возвращает:
- все слушатели состояний окна этого окна или пустой массив, если слушатели состояний окна в настоящее время не зарегистрированы
- С момента:
- 1.4
- См. также:
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 - Parameters:
-
e- событие - See Also:
processWindowEvent
protected void processWindowEvent(WindowEvent e)
- Объект WindowListener регистрируется через
addWindowListener - События окна включаются через
enableEvents
Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.
- Parameters:
-
e- событие окна - See Also:
processWindowFocusEvent
protected void processWindowFocusEvent(WindowEvent e)
- WindowFocusListener регистрируется через
addWindowFocusListener - События фокуса окна включаются через
enableEvents
Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.
- Parameters:
-
e- событие фокуса окна - Since:
- 1.4
- See Also:
processWindowStateEvent
protected void processWindowStateEvent(WindowEvent e)
WindowStateListener. ПРИМЕЧАНИЕ: этот метод не будет вызван, если события состояния окна не включены для этого окна. Это происходит, когда происходит одно из следующих событий: WindowStateListenerрегистрируется черезaddWindowStateListener- События состояния окна включаются через
enableEvents
Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.
- Parameters:
-
e- событие состояния окна - Since:
- 1.4
- See Also:
setAlwaysOnTop
public final void setAlwaysOnTop(boolean alwaysOnTop)
Если какое-то другое окно уже всегда поверх других, то относительный порядок между этими окнами не определен (зависит от платформы). Никакое окно не может быть расположено над окном always-on-top, за исключением, возможно, другого окна always-on-top.
Все окна, принадлежащие окну always-on-top, наследуют этот статус и автоматически становятся always-on-top. Если окно перестает быть always-on-top, окна, которые ему принадлежат, больше не будут always-on-top. Когда окно always-on-top отправляется в toBack, его статус always-on-top устанавливается в false.
Когда этот метод вызывается для окна со значением true, и окно отображается, и платформа поддерживает always-on-top для этого окна, окно немедленно выводится вперёд, "прилипая" к самому верхнему положению. Если окно в данный момент не отображается, этот метод устанавливает статус always-on-top в true, но не выводит окно вперёд. Когда окно позже отобразится, оно будет always-on-top.
Когда этот метод вызывается для окна со значением false, статус always-on-top устанавливается в нормальный. Это также может вызвать неопределённое, зависящее от платформы, изменение порядка z-слоев окон верхнего уровня, но другие окна always-on-top останутся в самом верхнем положении. Вызов этого метода со значением false для окна с нормальным состоянием не имеет эффекта.
Примечание: некоторые платформы могут не поддерживать всегда-сверху окна. Чтобы определить, поддерживаются ли всегда-сверху окна текущей платформой, используйте Toolkit.isAlwaysOnTopSupported() и isAlwaysOnTopSupported(). Если режим always-on-top не поддерживается для этого окна или набор инструментов этого окна не поддерживает always-on-top, вызов этого метода не окажет никакого эффекта.
- Parameters:
-
alwaysOnTop- true, если окно должно всегда быть поверх других окон - Since:
- 1.5
- See Also:
isAlwaysOnTopSupported
public boolean isAlwaysOnTopSupported()
- Returns:
-
true, если режим always-on-top поддерживается для этого окна и набор инструментов этого окна поддерживает всегда-сверху окна,falseв противном случае - Since:
- 1.6
- See Also:
isAlwaysOnTop
public final boolean isAlwaysOnTop()
- Returns:
-
true, если окно находится в состоянии always-on-top,falseв противном случае - Since:
- 1.5
- See Also:
getFocusOwner
public Component getFocusOwner()
- Returns:
- дочерний компонент с фокусом или null, если у этого окна нет фокуса
- See Also:
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
getFocusOwner(). Если это окно не имеет фокуса, то возвращается дочерний компонент, который последним запросил фокус. Если ни один дочерний компонент никогда не запрашивал фокус, а это окно может получить фокус, то возвращается начальный фокусируемый компонент этого окна. Если ни один дочерний компонент никогда не запрашивал фокус, а это окно не может получить фокус, возвращается null.- Returns:
- дочерний компонент, который получит фокус, когда это окно получит фокус
- Since:
- 1.4
- See Also:
isActive
public boolean isActive()
- Returns:
- является ли это окно активным.
- Since:
- 1.4
- See Also:
isFocused
public boolean isFocused()
Если фокусированное окно является рамкой или диалоговым окном, оно также является активным окном. В противном случае активное окно является первой рамкой или диалоговым окном, которое является владельцем фокусированного окна.
- Returns:
- имеет ли это окно фокус.
- Since:
- 1.4
- See Also:
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys для полного описания каждой клавиши.) Если клавиша перемещения фокуса не была явно задана для этого окна, то возвращается клавиша перемещения фокуса родительского окна. Если клавиша перемещения фокуса не была явно задана ни для одного из предков этого окна, то возвращается стандартная клавиша перемещения фокуса текущего KeyboardFocusManager.
- Overrides:
-
getFocusTraversalKeysв классеContainer - Parameters:
-
id- одна из констант KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Returns:
- AWTKeyStroke для указанной клавиши
- 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:
setFocusCycleRoot
public final void setFocusCycleRoot(boolean focusCycleRoot)
- Overrides:
-
setFocusCycleRootв классеContainer - Parameters:
-
focusCycleRoot- это значение игнорируется - Since:
- 1.4
- See Also:
isFocusCycleRoot
public final boolean isFocusCycleRoot()
true, потому что все окна должны быть корнями цикла перемещения фокуса.- Overrides:
-
isFocusCycleRootв классеContainer - Returns:
true- Since:
- 1.4
- See Also:
getFocusCycleRootAncestor
public final Container getFocusCycleRootAncestor()
null, потому что у окон нет предков; они представляют собой вершину иерархии компонентов.- Overrides:
-
getFocusCycleRootAncestorв классеComponent - Returns:
null- Since:
- 1.4
- See Also:
isFocusableWindow
public final boolean isFocusableWindow()
true. Для того, чтобы окно, которое не является рамкой или диалоговым окном, было фокусируемым, его состояние фокусируемого окна должно быть установлено в true, ближайшая владеющая им рамка или диалоговое окно должно быть отображено на экране, и оно должно содержать по крайней мере один компонент в цикле перемещения фокуса. Если ни одно из этих условий не выполняется, то ни это окно, ни любой из его подкомпонентов не могут стать владельцем фокуса.- Returns:
-
true, если это окно может быть фокусированным окном;falseв противном случае - Since:
- 1.4
- See Also:
getFocusableWindowState
public boolean getFocusableWindowState()
isFocusableWindow. Если этот метод возвращает false, то isFocusableWindow также вернёт false. Если этот метод возвращает true, то isFocusableWindow может вернуть true или false в зависимости от других требований, которым должно удовлетворять окно для того, чтобы быть фокусируемым. По умолчанию все окна имеют состояние фокусируемого окна true.
- Returns:
- может ли это окно быть фокусированным окном
- Since:
- 1.4
- See Also:
setFocusableWindowState
public void setFocusableWindowState(boolean focusableWindowState)
isFocusableWindow. Если состояние фокусируемого окна этого окна установлено в false, то isFocusableWindow вернёт false. Если состояние фокусируемого окна этого окна установлено в true, то isFocusableWindow может вернуть true или false, в зависимости от других требований, которым должно удовлетворять окно для того, чтобы быть фокусируемым. Установка состояния фокусируемости окна в false — это стандартный механизм, с помощью которого приложение сообщает AWT о том, что окно будет использоваться как плавающая палитра или панель инструментов, и поэтому должно быть нефокусируемым окном. Установка состояния фокусируемости видимого Window может иметь отложенный эффект на некоторых платформах — фактическое изменение может произойти только тогда, когда Window скроется, а затем снова отобразится. Для обеспечения согласованного поведения на всех платформах установите состояние фокусируемости Window, когда Window невидимо, а затем отобразите его.
- Parameters:
-
focusableWindowState- может ли это окно быть фокусированным окном - Since:
- 1.4
- See Also:
setAutoRequestFocus
public void setAutoRequestFocus(boolean autoRequestFocus)
setVisible(true)) или перемещении вперёд (с вызовом toFront()). Обратите внимание, что setVisible(true) может вызываться косвенно (например, при отображении владельца окна, что приводит к отображению окна). toFront() также может вызываться косвенно (например, при вызове setVisible(true) на уже видимом окне). Во всех таких случаях это свойство также действует.
Значение свойства не наследуется дочерними окнами.
- Parameters:
-
autoRequestFocus- должен ли это окно получить фокус при последующем отображении или перемещении вперёд - Since:
- 1.7
- See Also:
isAutoRequestFocus
public boolean isAutoRequestFocus()
setVisible(true)) или перемещении вперёд (с вызовом toFront()). По умолчанию окно имеет значение autoRequestFocus true.
- Returns:
-
autoRequestFocusзначение - Since:
- 1.7
- See Also:
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
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)
BufferStrategy с этим количеством буферов. Сначала используется стратегия перелистывания страниц, затем стратегия блинкирования с использованием ускоренных буферов. В заключение используется неускоренная стратегия блинкирования.
Каждый раз при вызове этого метода существующая стратегия буферизации для этого компонента отбрасывается.
- 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, или если caps не поддерживается - 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- если окно отображается на экране, и locationByPlatform имеет значениеtrue. - 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 был размещён и размером, соответствующим настройкам рабочего стола.
setBounds
public void setBounds(Rectangle r)
r. Новое положение компонента задаётся значениями r.x и r.y, а новый размер задаётся значениями r.width и r.height. Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.
Значения r.width или r.height будут автоматически увеличены, если любое из них меньше минимального размера, заданного предыдущим вызовом setMinimumSize.
Метод изменяет данные, связанные с геометрией. Поэтому система окон может игнорировать такие запросы или может изменить запрошенные данные, чтобы объект Window размещался и масштабировался так, чтобы соответствовать настройкам рабочего стола.
getOpacity
public float getOpacity()
- Возвращает:
- непрозрачность окна
- С:
- 1.7
- См. также:
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)).
- Параметры:
-
opacity- уровень непрозрачности, который нужно установить для окна - Исключения:
-
IllegalArgumentException- если непрозрачность выходит за пределы диапазона [0..1] -
IllegalComponentStateException- если окно оформлено, а непрозрачность меньше1.0f -
IllegalComponentStateException- если окно находится в полноэкранном режиме, а непрозрачность меньше1.0f -
UnsupportedOperationException- если прозрачностьGraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENTне поддерживается, а непрозрачность меньше1.0f - С:
- 1.7
- См. также:
getShape
public Shape getShape()
setShape(shape), но гарантируется, что оно представляет ту же форму.- Возвращает:
- форму окна или
null, если для окна не задана форма - С:
- 1.7
- См. также:
setShape
public void setShape(Shape shape)
Установка формы обрезает некоторые части окна. Видимыми и кликабельными остаются только части, принадлежащие заданной Shape. Если аргумент shape равен null, этот метод восстанавливает форму по умолчанию, делая окно прямоугольным на большинстве платформ.
Для установки формы, отличной от null, должны быть выполнены следующие условия:
- Прозрачность
PERPIXEL_TRANSPARENTдолжна поддерживаться базовой системой - Окно должно быть без оформления (см.
Frame.setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если заданная форма не равна null, и не соблюдаются вышеуказанные условия, форма этого окна не изменится, и будет выброшено исключение UnsupportedOperationException или
IllegalComponentStateException.
Уровни прозрачности отдельных пикселей также могут быть затронуты альфа-компонентом их цвета (см. setBackground(Color)) и значением непрозрачности (см. setOpacity(float)). Для получения дополнительной информации см. GraphicsDevice.WindowTranslucency.
- Параметры:
-
shape- форма, которую нужно установить для окна - Исключения:
-
IllegalComponentStateException- если форма не равна null, а окно оформлено -
IllegalComponentStateException- если форма не равна null, а окно находится в полноэкранном режиме -
UnsupportedOperationException- если форма не равна null, и прозрачностьPERPIXEL_TRANSPARENTне поддерживается - С:
- 1.7
- См. также:
getBackground
public Color getBackground()
Обратите внимание, что альфа-компонент возвращаемого цвета указывает, находится ли окно в режиме непрозрачности (прозрачности на пиксель).
- Overrides:
-
getBackgroundв классеComponent - Возвращает:
- цвет фона этого компонента
- См. также:
Установить цвет фона
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:
-
setBackgroundin classComponent - 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.
paint
public void paint(Graphics g)
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/Window.html
Component.applyComponentOrientation.