Spec-Zone.ru › OpenJDK 24

Класс Window

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.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 целевого экрана.

В многоэкранной среде виртуального устройства, где область рабочего стола может охватывать несколько физических экранов, границы всех конфигураций относительны к системе координат виртуального устройства. Начало координат виртуальной системы находится в верхнем левом углу основного физического экрана. В зависимости от расположения основного экрана в виртуальном устройстве возможны отрицательные координаты, как показано на рисунке ниже.

Diagram shows virtual device containing 4 physical screens. Primary
 physical screen shows coords (0,0), other screen shows (-80,-100).

В такой среде, при вызове 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
См. также:
  • WindowEvent
  • addWindowListener(java.awt.event.WindowListener)
  • BorderLayout
  • Сериализованная форма

Краткое описание вложенных классов

Модификатор и тип Класс Описание
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 owner)
Создает новое, изначально невидимое окно с указанным Frame в качестве владельца.
Window(Window owner)
Создает новое, изначально невидимое окно с указанным Window в качестве владельца.
Window(Window owner, GraphicsConfiguration gc)
Создает новое, изначально невидимое окно с указанным владельцем Window и GraphicsConfiguration устройства экрана.

Краткое описание методов

Modifier and Type Method Description
void addNotify()
Делает это окно отображаемым, создавая подключение к его нативному ресурсу экрана.
void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей.
void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей для определённого свойства.
void addWindowFocusListener(WindowFocusListener l)
Добавляет указанного слушателя событий окна для получения событий окна из этого окна.
void addWindowListener(WindowListener l)
Добавляет указанного слушателя событий окна для получения событий окна из этого окна.
void addWindowStateListener(WindowStateListener l)
Добавляет указанного слушателя состояния окна для получения событий окна из этого окна.
void applyResourceBundle(String rbName)
Устарело.
С J2SE 1.4 заменено на Component.applyComponentOrientation.
void applyResourceBundle(ResourceBundle rb)
Устарело.
С J2SE 1.4 заменено на Component.applyComponentOrientation.
void createBufferStrategy(int numBuffers)
Создаёт новую стратегию для многобуферизации на этом компоненте.
void createBufferStrategy(int numBuffers, BufferCapabilities caps)
Создаёт новую стратегию для многобуферизации на этом компоненте с необходимыми возможностями буфера.
void dispose()
Освобождает все нативные ресурсы экрана, используемые этим Window, его подкомпонентами и всеми его дочерними компонентами.
AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим окном.
Color getBackground()
Получает цвет фона этого окна.
BufferStrategy getBufferStrategy()
Возвращает BufferStrategy, используемый этим компонентом.
boolean getFocusableWindowState()
Возвращает, может ли это окно стать фокусированным окном, если оно соответствует другим требованиям, изложенным в isFocusableWindow.
final Container getFocusCycleRootAncestor()
Всегда возвращает null, потому что окна не имеют предков; они представляют собой верхнюю часть иерархии компонентов.
Component getFocusOwner()
Возвращает дочерний компонент этого окна, у которого есть фокус, если это окно сфокусировано; в противном случае возвращает null.
Set<AWTKeyStroke> getFocusTraversalKeys(int id)
Получает клавишу перемещения фокуса для этого окна.
List<Image> getIconImages()
Возвращает последовательность изображений, которые будут отображаться в качестве значка для этого окна.
InputContext getInputContext()
Получает контекст ввода для этого окна.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных как 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(Graphics g)
Рисует контейнер.
boolean postEvent(Event e)
Устарело.
С JDK версии 1.1 заменено на dispatchEvent(AWTEvent).
protected void processEvent(AWTEvent e)
Обрабатывает события в этом окне.
protected void processWindowEvent(WindowEvent e)
Обрабатывает события окна, происходящие в этом окне, перенаправляя их любым зарегистрированным объектам WindowListener.
protected void processWindowFocusEvent(WindowEvent e)
Обрабатывает событие фокуса окна, происходящее в этом окне, перенаправляя их любым зарегистрированным объектам WindowFocusListener.
protected void processWindowStateEvent(WindowEvent e)
Обрабатывает событие состояния окна, происходящее в этом окне, перенаправляя их любым зарегистрированным объектам WindowStateListener.
void removeWindowFocusListener(WindowFocusListener l)
Удаляет указанный слушатель фокуса окна, чтобы он больше не получал события окна от этого окна.
void removeWindowListener(WindowListener l)
Удаляет указанного слушателя окна, чтобы он больше не получал события окна от этого окна.
void removeWindowStateListener(WindowStateListener l)
Удаляет указанного слушателя состояния окна, чтобы он больше не получал события окна от этого окна.
void reshape(int x, int y, int width, int height)
Устарело.
Начиная с JDK версии 1.1, заменено на setBounds(int, int, int, int).
final void setAlwaysOnTop(boolean alwaysOnTop)
Устанавливает, должно ли это окно всегда отображаться поверх других окон.
void setAutoRequestFocus(boolean autoRequestFocus)
Устанавливает, должно ли это окно получить фокус после последующего отображения (с вызовом setVisible(true)) или перемещения вперёд (с вызовом toFront()).
void setBackground(Color bgColor)
Устанавливает цвет фона этого окна.
void setBounds(int x, int y, int width, int height)
Перемещает и изменяет размер этого компонента.
void setBounds(Rectangle r)
Перемещает и изменяет размер этого компонента в соответствии с новым прямоугольником границ r.
void setCursor(Cursor cursor)
Устанавливает изображение курсора на указанный курсор.
void setFocusableWindowState(boolean focusableWindowState)
Устанавливает, может ли это окно стать фокусированным окном, если оно удовлетворяет другим требованиям, изложенным в isFocusableWindow.
final void setFocusCycleRoot(boolean focusCycleRoot)
Ничего не делает, так как окна всегда должны быть корнями цикла перехода фокуса.
void setIconImage(Image image)
Устанавливает изображение, которое будет отображаться в качестве значка для этого окна.
void setIconImages(List<? extends Image> icons)
Устанавливает последовательность изображений, которые будут отображаться в качестве значка для этого окна.
void setLocation(int x, int y)
Перемещает этот компонент в новое местоположение.
void setLocation(Point p)
Перемещает этот компонент в новое местоположение.
void setLocationByPlatform(boolean locationByPlatform)
Устанавливает, должно ли это окно отображаться в стандартном расположении для системного окна или в текущем расположении (возвращаемом getLocation) при следующем отображении окна.
void setLocationRelativeTo(Component c)
Устанавливает расположение окна относительно указанного компонента в соответствии со следующими сценариями.
void setMinimumSize(Dimension minimumSize)
Устанавливает минимальный размер этого окна в постоянное значение.
void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Указывает тип исключения модальности для этого окна.
void setOpacity(float opacity)
Устанавливает непрозрачность окна.
void setShape(Shape shape)
Устанавливает форму окна.
void setSize(int width, int height)
Изменяет размер этого компонента так, чтобы его ширина была width, а высота - height.
void setSize(Dimension d)
Изменяет размер этого компонента так, чтобы его ширина была d.width, а высота - d.height.
void setType(Window.Type type)
Устанавливает тип окна.
void setVisible(boolean b)
Отображает или скрывает это 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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

Окно

public Window(Frame owner)
Создаёт новое, изначально невидимое окно с указанным Frame в качестве владельца. Окно не будет фокусируемым, если его владелец не отображается на экране.
Параметры:
owner - Frame, который будет владельцем, или null, если у этого окна нет владельца
Исключения:
IllegalArgumentException - если owner владельца не отображается на экране
HeadlessException - когда GraphicsEnvironment.isHeadless возвращает true
См. также:
  • GraphicsEnvironment.isHeadless()
  • isShowing()

Окно

public Window(Window owner)
Создаёт новое, изначально невидимое окно с указанным Window в качестве владельца. Это окно не будет фокусируемым, если ближайшее окно-владелец или Dialog не отображается на экране.
Параметры:
owner - Window, который будет владельцем, или null, если у этого окна нет владельца
Исключения:
IllegalArgumentException - если owner владельца не отображается на экране
HeadlessException - когда GraphicsEnvironment.isHeadless() возвращает true
С:
1.2
См. также:
  • GraphicsEnvironment.isHeadless()
  • isShowing()

Окно

public Window(Window owner, GraphicsConfiguration gc)
Создаёт новое, изначально невидимое окно с указанным владельцем Window и конфигурацией GraphicsConfiguration устройства экрана. Окно не будет фокусируемым, если ближайшее окно-владелец или Dialog не отображается на экране.
Параметры:
owner - окно, которое будет владельцем, или null, если у этого окна нет владельца
gc - конфигурация GraphicsConfiguration целевого устройства экрана; если gc равно null, используется системный по умолчанию GraphicsConfiguration
Исключения:
IllegalArgumentException - если gc не является устройством экрана
HeadlessException - когда GraphicsEnvironment.isHeadless() возвращает true
С:
1.3
См. также:
  • GraphicsEnvironment.isHeadless()
  • GraphicsConfiguration.getBounds()
  • isShowing()

Подробное описание методов

getIconImages

public List<Image> getIconImages()
Возвращает последовательность изображений, которые должны отображаться в виде значка для этого окна.

Этот метод возвращает копию внутреннего хранилища списка, поэтому все операции с возвращенным объектом не повлияют на поведение окна.

Возвращает:
копию списка значков для этого окна, или пустой список, если у этого окна нет значков.
С:
1.6
См. также:
  • setIconImages(java.util.List<? extends java.awt.Image>)
  • setIconImage(Image)

setIconImages

public void setIconImages(List<? extends Image> icons)
Устанавливает последовательность изображений, которые должны отображаться в виде значка для этого окна. Последующие вызовы getIconImages всегда будут возвращать копию списка icons.

В зависимости от возможностей платформы, в качестве значка окна используется одно или несколько изображений разных размеров.

Список icons может также содержать MultiResolutionImage изображения. Подходящее изображение в зависимости от разрешения экрана извлекается из базового изображения MultiResolutionImage и добавляется в список значков, а базовое изображение с низким разрешением удаляется из списка. Список icons сканируется на изображения наиболее подходящих размеров с начала. Если список содержит несколько изображений одного размера, используется первое.

Окна без владельца без указанного значка используют значок по умолчанию для платформы. Значок окна-потомка может быть унаследован от владельца, если не переопределён явно. Установка значка в null или пустой список восстанавливает поведение по умолчанию.

Примечание: системы графического интерфейса могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, списка окон, панели задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.

Параметры:
icons - список изображений значков для отображения.
С:
1.6
См. также:
  • getIconImages()
  • setIconImage(Image)

setIconImage

public void setIconImage(Image image)
Устанавливает изображение, которое должно отображаться в виде значка для этого окна.

Этот метод можно использовать вместо setIconImages() для указания одного изображения в качестве значка окна.

Следующее утверждение:

     setIconImage(image);
 
эквивалентно:
     ArrayList<Image> imageList = new ArrayList<Image>();
     imageList.add(image);
     setIconImages(imageList);
 

Примечание: системы графического интерфейса могут использовать разные изображения разных размеров для представления окна в зависимости от контекста (например, декорации окна, списка окон, панели задач и т. д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.

Параметры:
image - изображение значка для отображения.
С:
1.6
См. также:
  • setIconImages(java.util.List<? extends java.awt.Image>)
  • getIconImages()

addNotify

public void addNotify()
Делает это окно отображаемым, создав соединение с его ресурсом на экране. Этот метод вызывается внутри инструментарием и не должен вызываться напрямую программами.
Переопределяет:
addNotify в классе Container
С:
1.0
См. также:
  • Component.isDisplayable()
  • Container.removeNotify()

pack

public void pack()
Изменяет размер этого окна для соответствия предпочтительным размерам и макетам его дочерних компонентов. Результирующая ширина и высота окна автоматически увеличиваются, если любой из размеров меньше минимального размера, указанного в предыдущем вызове метода setMinimumSize.

Если окно и/или его владелец ещё не отображаются, оба они делаются отображаемыми перед вычислением предпочтительного размера. Окно валидируется после того, как его размер был вычислен.

См. также:
  • Component.isDisplayable()
  • setMinimumSize(java.awt.Dimension)

setMinimumSize

public void setMinimumSize(Dimension minimumSize)
Устанавливает минимальный размер этого окна в постоянное значение. Последующие вызовы getMinimumSize всегда будут возвращать это значение. Если текущий размер окна меньше minimumSize, размер окна автоматически увеличивается, чтобы соответствовать минимальному размеру.

Если методы setSize или setBounds вызываются впоследствии с шириной или высотой меньше, чем та, которая была указана методом setMinimumSize, окно автоматически увеличивается, чтобы соответствовать значению minimumSize. Значение minimumSize также влияет на поведение метода pack.

Поведение по умолчанию восстанавливается при установке параметра минимального размера в значение null.

Операция изменения размера может быть ограничена, если пользователь пытается изменить размер окна ниже значения minimumSize. Это поведение зависит от платформы.

Переопределяет:
setMinimumSize в классе Component
Параметры:
minimumSize - новый минимальный размер этого окна
С:
1.6
См. также:
  • Component.setMinimumSize(java.awt.Dimension)
  • Container.getMinimumSize()
  • Component.isMinimumSizeSet()
  • setSize(Dimension)
  • pack()

setSize

public void setSize(Dimension d)
Изменяет размер этого компонента на ширину d.width и высоту d.height.

Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.

Значения d.width и d.height автоматически увеличиваются, если хотя бы одно из них меньше минимального размера, указанного предыдущим вызовом метода setMinimumSize.

Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.

Overrides:
setSize в классе Component
Parameters:
d - размер, определяющий новый размер этого компонента
Since:
1.6
See Also:
  • Component.getSize()
  • setBounds(int, int, int, int)
  • setMinimumSize(java.awt.Dimension)

setSize

public void setSize(int width, int height)
Изменяет размер этого компонента на ширину width и высоту height.

Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.

Значения width и height автоматически увеличиваются, если хотя бы одно из них меньше минимального размера, указанного предыдущим вызовом метода setMinimumSize.

Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.

Overrides:
setSize в классе Component
Parameters:
width - новая ширина этого компонента в пикселях
height - новая высота этого компонента в пикселях
Since:
1.6
See Also:
  • Component.getSize()
  • setBounds(int, int, int, int)
  • setMinimumSize(java.awt.Dimension)

setLocation

public void setLocation(int x, int y)
Перемещает этот компонент в новое положение. Верхний левый угол нового положения задаётся параметрами x и y в системе координат родительского компонента.

Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.

Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.

Overrides:
setLocation в классе Component
Parameters:
x - координата x верхнего левого угла нового положения в системе координат родителя
y - координата y верхнего левого угла нового положения в системе координат родителя
See Also:
  • Component.getLocation()
  • Component.setBounds(int, int, int, int)
  • Component.invalidate()

setLocation

public void setLocation(Point p)
Перемещает этот компонент в новое положение. Верхний левый угол нового положения задаётся точкой p. Точка p задаётся в системе координат родителя.

Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.

Метод изменяет данные, связанные с геометрией. Поэтому система отображения может игнорировать такие запросы или может изменить запрошенные данные таким образом, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.

Overrides:
setLocation в классе Component
Parameters:
p - точка, определяющая верхний левый угол нового положения, заданная в системе координат родительского компонента
See Also:
  • Component.getLocation()
  • Component.setBounds(int, int, int, int)
  • Component.invalidate()

reshape

@Deprecated public void reshape(int x, int y, int width, int height)
Устарело.
Начиная с JDK версии 1.1, заменено на setBounds(int, int, int, int).
Описание скопировано из класса: Component
Изменяет область рисования этого компонента.
Overrides:
reshape в классе Component
Parameters:
x - координата x верхнего левого угла прямоугольника
y - координата y верхнего левого угла прямоугольника
width - ширина прямоугольника
height - высота прямоугольника

setVisible

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:
  • Component.isDisplayable()
  • Component.setVisible(boolean)
  • toFront()
  • dispose()
  • setAutoRequestFocus(boolean)
  • isFocusableWindow()

show

@Deprecated public void show()
Устарело.
Начиная с JDK версии 1.5, заменено на setVisible(boolean).
Делает окно видимым. Если окно и/или его владелец ещё не отображаются, оба становятся отображаемыми. Окно будет проверен перед отображением. Если окно уже видно, это выведет окно вперёд.
Overrides:
show в классе Component
See Also:
  • Component.isDisplayable()
  • toFront()

hide

@Deprecated public void hide()
Устарело.
Начиная с JDK версии 1.5, заменено на setVisible(boolean).
Скрыть это окно, его подкомпоненты и все его дочерние элементы, принадлежащие ему. Окно и его подкомпоненты можно сделать видимыми снова, вызвав метод show.
Overrides:
hide в классе Component
See Also:
  • show()
  • dispose()

dispose

public void dispose()
Освобождает все системные ресурсы экрана, используемые этим Window, его подкомпонентами и всеми его дочерними элементами. То есть, ресурсы этих Component будут уничтожены, любая занимаемая ими память будет возвращена ОС, и они будут помечены как неотображаемые.

Этот Window и его подкомпоненты можно снова сделать отображаемыми, повторно создав системные ресурсы с последующим вызовом pack или show. Состояния пересозданного Window и его подкомпонентов будут идентичны состояниям этих объектов в момент, когда был вызван метод Window (не учитывая дополнительные изменения между этими действиями).

Примечание: При уничтожении последнего отображаемого окна в виртуальной машине Java (VM) VM может завершиться. См. Проблемы многопоточности AWT для получения дополнительной информации.

См. также:
  • Component.isDisplayable()
  • pack()
  • show()

toFront

public void toFront()
Если это окно видимое, оно выводится вперед и может стать фокусным.

Это окно помещается в верхнюю часть стека и отображается поверх всех других окон в этой виртуальной машине. Действий не будет, если это окно невидимое. Некоторые платформы не позволяют окнам, содержащим другие окна, отображаться поверх своих содержащихся окон. Некоторые платформы могут не разрешать этой виртуальной машине размещать свои окна поверх окон приложений или окон других виртуальных машин. Это разрешение может зависеть от того, фокусировано ли уже окно в этой виртуальной машине. Будут предприняты все возможные попытки переместить это окно как можно выше в стеке; однако разработчики не должны полагаться на то, что этот метод поместит это окно поверх всех других окон в каждой ситуации.

Разработчики никогда не должны предполагать, что это окно является фокусным или активным, пока это окно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED. На платформах, где верхнее окно является фокусным, этот метод, вероятно, переведет это окно в фокус (если оно еще не фокусное) при следующих условиях:

  • Окно соответствует требованиям, описанным в методе isFocusableWindow().
  • Свойство окна autoRequestFocus имеет значение true.
  • Системное окно позволяет окну получить фокус.
На платформах, где порядок стека обычно не влияет на фокусное окно, этот метод, вероятно, не изменит фокусное и активное окно.

Если этот метод заставит это окно стать фокусным, и это окно является фреймом или диалоговым окном, оно также будет активировано. Если это окно является фокусным, но не фреймом или диалоговым окном, то первый фрейм или диалоговое окно, которое является владельцем этого окна, будет активировано.

Если это окно заблокировано модальным диалоговым окном, то блокирующее диалоговое окно выводится вперед и остается над заблокированным окном.

См. также:
  • toBack()
  • setAutoRequestFocus(boolean)
  • isFocusableWindow()

toBack

public void toBack()
Если это окно видимое, оно помещается в конец стека и может потерять фокус или активность, если оно фокусное или активное.

Это окно помещается в нижнюю часть стека и отображается позади всех других окон в этой виртуальной машине. Действий не будет, если это окно невидимое. Некоторые платформы не позволяют окнам, являющимся дочерними для других окон, отображаться ниже своих владельцев. Будут предприняты все возможные попытки переместить это окно как можно ниже в стеке; однако разработчики не должны полагаться на то, что этот метод поместит это окно ниже всех других окон в каждой ситуации.

Из-за различий в системных оконных системах, никакие гарантии относительно изменений фокусных и активных окон не могут быть даны. Разработчики никогда не должны предполагать, что это окно больше не фокусное или активное, пока это окно не получит событие WINDOW_LOST_FOCUS или WINDOW_DEACTIVATED. На платформах, где верхнее окно является фокусным, этот метод, вероятно, заставит это окно потерять фокус. В этом случае следующий фокусируемый верхний слой в этой виртуальной машине получит фокус. На платформах, где порядок стека обычно не влияет на фокусное окно, этот метод, вероятно, не изменит фокусное и активное окно.

См. также:
  • toFront()

getToolkit

public Toolkit getToolkit()
Возвращает набор инструментов этого фрейма.
Переопределяет:
getToolkit в классе Component
Возвращает:
набор инструментов этого окна.
См. также:
  • Toolkit
  • Toolkit.getDefaultToolkit()
  • Component.getToolkit()

getWarningString

@Deprecated(since="24", forRemoval=true) public final String getWarningString()
Устарело, для удаления: Этот элемент API может быть удален в будущей версии.
с JDK 24
Возвращает строку предупреждения, которая отображается с этим окном.

Строки предупреждений больше не применимы, поэтому этот метод всегда возвращает null и может быть удален в будущей версии.

Возвращает:
null

getLocale

public Locale getLocale()
Возвращает объект Locale, связанный с этим окном, если локаль была установлена. Если локаль не была установлена, возвращается локаль по умолчанию.
Переопределяет:
getLocale в классе Component
Возвращает:
установленную для этого окна локаль.
С:
1.1
См. также:
  • Locale

getInputContext

public InputContext getInputContext()
Возвращает контекст ввода для этого окна. Окно всегда имеет контекст ввода, который используется подкомпонентами, если они не создают и не устанавливают свой собственный.
Переопределяет:
getInputContext в классе Component
Возвращает:
контекст ввода, используемый этим компонентом; null, если контекст не может быть определён
С:
1.2
См. также:
  • Component.getInputContext()

setCursor

public void setCursor(Cursor cursor)
Устанавливает изображение курсора на указанный курсор.

Метод может не иметь визуального эффекта, если реализация платформы Java и/или системная среда не поддерживают изменение формы курсора мыши.

Переопределяет:
setCursor в классе Component
Параметры:
cursor - Одно из констант, определенных классом Cursor. Если этот параметр null, то курсор этого окна будет установлен в тип Cursor.DEFAULT_CURSOR.
С:
1.1
См. также:
  • Component.getCursor()
  • Cursor

getOwner

public Window getOwner()
Возвращает владельца этого окна.
Возвращает:
владелец этого окна
С:
1.2

getOwnedWindows

public Window[] getOwnedWindows()
Возвращает массив, содержащий все окна, которыми в данный момент владеет это окно.
Возвращает:
массив всех принадлежащих окон
С:
1.2

getWindows

public static Window[] getWindows()
Возвращает массив всех Window, как принадлежащих, так и без владельца, созданных этим приложением. Если вызывается из апплета, массив содержит только Window, доступные этому апплету.

Предупреждение: этот метод может вернуть окна, созданные системой, такие как диалог печати. Приложения не должны предполагать существование этих диалогов, а также не должны предполагать ничего об этих диалогах, таких как позиции компонентов, LayoutManager или сериализацию.

Возвращает:
массив всех Window, созданных приложением
С:
1.6
См. также:
  • Frame.getFrames()
  • getOwnerlessWindows()

getOwnerlessWindows

public static Window[] getOwnerlessWindows()
Возвращает массив всех Window, созданных этим приложением, которые не имеют владельца. Они включают в себя Frame и безвластные Dialog и Window. Если вызов осуществляется из апплета, массив содержит только те Window, к которым у этого апплета есть доступ.

Предупреждение: этот метод может возвращать окна, созданные системой, такие как диалог печати. Приложения не должны предполагать существование этих диалогов, а также не должны делать предположений о таких диалогах, как позиции компонентов, LayoutManager или сериализации.

Возвращает:
массив всех безвластных Window, созданных этим приложением
С момента:
1.6
См. также:
  • Frame.getFrames()
  • getWindows()

setModalExclusionType

public void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Устанавливает тип исключения модальности для этого окна. Если окно исключено по модальности, оно не блокируется некоторыми модальными диалогами. См. Dialog.ModalExclusionType для возможных типов исключения модальности.

Если заданный тип не поддерживается, используется NO_EXCLUDE.

Примечание: изменение типа исключения модальности для видимого окна может не иметь эффекта, пока оно не будет скрыто, а затем показано снова.

Параметры:
exclusionType - тип исключения модальности для этого окна; значение null эквивалентно NO_EXCLUDE
С момента:
1.6
См. также:
  • Dialog.ModalExclusionType
  • getModalExclusionType()
  • Toolkit.isModalExclusionTypeSupported(java.awt.Dialog.ModalExclusionType)

getModalExclusionType

public Dialog.ModalExclusionType getModalExclusionType()
Возвращает тип исключения модальности этого окна.
Возвращает:
тип исключения модальности этого окна
С момента:
1.6
См. также:
  • Dialog.ModalExclusionType
  • setModalExclusionType(java.awt.Dialog.ModalExclusionType)

addWindowListener

public void addWindowListener(WindowListener l)
Добавляет указанный слушатель оконных событий для получения событий окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель оконных событий
См. также:
  • removeWindowListener(java.awt.event.WindowListener)
  • getWindowListeners()

addWindowStateListener

public void addWindowStateListener(WindowStateListener l)
Добавляет указанный слушатель состояний окна для получения событий окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель состояний окна
С момента:
1.4
См. также:
  • removeWindowStateListener(java.awt.event.WindowStateListener)
  • getWindowStateListeners()

addWindowFocusListener

public void addWindowFocusListener(WindowFocusListener l)
Добавляет указанный слушатель фокуса окна для получения событий окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель фокуса окна
С момента:
1.4
См. также:
  • removeWindowFocusListener(java.awt.event.WindowFocusListener)
  • getWindowFocusListeners()

removeWindowListener

public void removeWindowListener(WindowListener l)
Удаляет указанный слушатель оконных событий, чтобы он больше не получал события окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель оконных событий
См. также:
  • addWindowListener(java.awt.event.WindowListener)
  • getWindowListeners()

removeWindowStateListener

public void removeWindowStateListener(WindowStateListener l)
Удаляет указанного слушателя состояний окна, чтобы он больше не получал события окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель состояний окна
С момента:
1.4
См. также:
  • addWindowStateListener(java.awt.event.WindowStateListener)
  • getWindowStateListeners()

removeWindowFocusListener

public void removeWindowFocusListener(WindowFocusListener l)
Удаляет указанного слушателя фокуса окна, чтобы он больше не получал события окна из этого окна. Если l равно null, исключение не выбрасывается и никаких действий не выполняется.

См. Вопросы потоков AWT для получения подробностей о модели потоков AWT.

Параметры:
l - слушатель фокуса окна
С момента:
1.4
См. также:
  • addWindowFocusListener(java.awt.event.WindowFocusListener)
  • getWindowFocusListeners()

getWindowListeners

public WindowListener[] getWindowListeners()
Возвращает массив всех слушателей оконных событий, зарегистрированных в этом окне.
Возвращает:
все слушатели оконных событий этого окна или пустой массив, если слушатели оконных событий в настоящее время не зарегистрированы
С момента:
1.4
См. также:
  • addWindowListener(java.awt.event.WindowListener)
  • removeWindowListener(java.awt.event.WindowListener)

getWindowFocusListeners

public WindowFocusListener[] getWindowFocusListeners()
Возвращает массив всех слушателей фокуса окна, зарегистрированных в этом окне.
Возвращает:
все слушатели фокуса окна этого окна или пустой массив, если слушатели фокуса окна в настоящее время не зарегистрированы
С момента:
1.4
См. также:
  • addWindowFocusListener(java.awt.event.WindowFocusListener)
  • removeWindowFocusListener(java.awt.event.WindowFocusListener)

getWindowStateListeners

public WindowStateListener[] getWindowStateListeners()
Возвращает массив всех слушателей состояний окна, зарегистрированных в этом окне.
Возвращает:
все слушатели состояний окна этого окна или пустой массив, если слушатели состояний окна в настоящее время не зарегистрированы
С момента:
1.4
См. также:
  • addWindowStateListener(java.awt.event.WindowStateListener)
  • removeWindowStateListener(java.awt.event.WindowStateListener)

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:
  • getWindowListeners()

processEvent

protected void processEvent(AWTEvent e)
Обрабатывает события в этом окне. Если событие является WindowEvent, вызывается метод processWindowEvent, в противном случае вызывается метод processEvent суперкласса.

Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.

Overrides:
processEvent в классе Container
Parameters:
e - событие
See Also:
  • Component.processComponentEvent(java.awt.event.ComponentEvent)
  • Component.processFocusEvent(java.awt.event.FocusEvent)
  • Component.processKeyEvent(java.awt.event.KeyEvent)
  • Component.processMouseEvent(java.awt.event.MouseEvent)
  • Component.processMouseMotionEvent(java.awt.event.MouseEvent)
  • Component.processInputMethodEvent(java.awt.event.InputMethodEvent)
  • Component.processHierarchyEvent(java.awt.event.HierarchyEvent)
  • Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)

processWindowEvent

protected void processWindowEvent(WindowEvent e)
Обрабатывает события окна, происходящие в этом окне, рассылая их зарегистрированным объектам WindowListener. ПРИМЕЧАНИЕ: Этот метод не будет вызван, если события окна не включены для этого компонента; это происходит, когда происходит одно из следующих событий:
  • Объект WindowListener регистрируется через addWindowListener
  • События окна включаются через enableEvents

Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.

Parameters:
e - событие окна
See Also:
  • Component.enableEvents(long)

processWindowFocusEvent

protected void processWindowFocusEvent(WindowEvent e)
Обрабатывает события фокуса окна, происходящие в этом окне, рассылая их зарегистрированным объектам WindowFocusListener. ПРИМЕЧАНИЕ: этот метод не будет вызван, если события фокуса окна не включены для этого окна. Это происходит, когда происходит одно из следующих событий:
  • WindowFocusListener регистрируется через addWindowFocusListener
  • События фокуса окна включаются через enableEvents

Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.

Parameters:
e - событие фокуса окна
Since:
1.4
See Also:
  • Component.enableEvents(long)

processWindowStateEvent

protected void processWindowStateEvent(WindowEvent e)
Обрабатывает события состояния окна, происходящие в этом окне, рассылая их зарегистрированным объектам WindowStateListener. ПРИМЕЧАНИЕ: этот метод не будет вызван, если события состояния окна не включены для этого окна. Это происходит, когда происходит одно из следующих событий:
  • WindowStateListener регистрируется через addWindowStateListener
  • События состояния окна включаются через enableEvents

Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.

Parameters:
e - событие состояния окна
Since:
1.4
See Also:
  • Component.enableEvents(long)

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. Когда окно 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:
  • isAlwaysOnTop()
  • toFront()
  • toBack()
  • isAlwaysOnTopSupported()
  • getToolkit()
  • Toolkit.isAlwaysOnTopSupported()

isAlwaysOnTopSupported

public boolean isAlwaysOnTopSupported()
Возвращает, поддерживается ли режим always-on-top для этого окна. Некоторые платформы могут не поддерживать always-on-top окна, некоторые могут поддерживать только определённые типы окон верхнего уровня; например, платформа может не поддерживать всегда-сверху модальные диалоговые окна.
Returns:
true, если режим always-on-top поддерживается для этого окна и набор инструментов этого окна поддерживает всегда-сверху окна, false в противном случае
Since:
1.6
See Also:
  • setAlwaysOnTop(boolean)
  • getToolkit()
  • Toolkit.isAlwaysOnTopSupported()

isAlwaysOnTop

public final boolean isAlwaysOnTop()
Возвращает, является ли это окно окном always-on-top.
Returns:
true, если окно находится в состоянии always-on-top, false в противном случае
Since:
1.5
See Also:
  • setAlwaysOnTop(boolean)

getFocusOwner

public Component getFocusOwner()
Возвращает дочерний компонент этого окна, у которого есть фокус, если это окно имеет фокус; в противном случае возвращает null.
Returns:
дочерний компонент с фокусом или null, если у этого окна нет фокуса
See Also:
  • getMostRecentFocusOwner()
  • isFocused()

getMostRecentFocusOwner

public Component getMostRecentFocusOwner()
Возвращает дочерний компонент этого окна, который получит фокус, когда это окно получит фокус. Если это окно в настоящее время имеет фокус, этот метод возвращает тот же компонент, что и getFocusOwner(). Если это окно не имеет фокуса, то возвращается дочерний компонент, который последним запросил фокус. Если ни один дочерний компонент никогда не запрашивал фокус, а это окно может получить фокус, то возвращается начальный фокусируемый компонент этого окна. Если ни один дочерний компонент никогда не запрашивал фокус, а это окно не может получить фокус, возвращается null.
Returns:
дочерний компонент, который получит фокус, когда это окно получит фокус
Since:
1.4
See Also:
  • getFocusOwner()
  • isFocused()
  • isFocusableWindow()

isActive

public boolean isActive()
Возвращает, является ли это окно активным. Только рамка или диалоговое окно могут быть активными. Система окон может обозначать активное окно или его дочерние элементы специальными элементами оформления, такими как выделенная строка заголовка. Активное окно всегда является либо фокусированным окном, либо первой рамкой или диалоговым окном, которое является владельцем фокусированного окна.
Returns:
является ли это окно активным.
Since:
1.4
See Also:
  • isFocused()

isFocused

public boolean isFocused()
Возвращает, имеет ли это окно фокус. Если существует владелец фокуса, фокусированным окном является окно, которое является или содержит этот владелец фокуса. Если владельца фокуса нет, то ни одно окно не имеет фокуса.

Если фокусированное окно является рамкой или диалоговым окном, оно также является активным окном. В противном случае активное окно является первой рамкой или диалоговым окном, которое является владельцем фокусированного окна.

Returns:
имеет ли это окно фокус.
Since:
1.4
See Also:
  • isActive()

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:
  • Container.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
  • KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
  • KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
  • KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS

setFocusCycleRoot

public final void setFocusCycleRoot(boolean focusCycleRoot)
Ничего не делает, так как окна всегда должны быть корнями цикла перемещения фокуса. Переданное значение игнорируется.
Overrides:
setFocusCycleRoot в классе Container
Parameters:
focusCycleRoot - это значение игнорируется
Since:
1.4
See Also:
  • isFocusCycleRoot()
  • Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()

isFocusCycleRoot

public final boolean isFocusCycleRoot()
Всегда возвращает true, потому что все окна должны быть корнями цикла перемещения фокуса.
Overrides:
isFocusCycleRoot в классе Container
Returns:
true
Since:
1.4
See Also:
  • setFocusCycleRoot(boolean)
  • Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()

getFocusCycleRootAncestor

public final Container getFocusCycleRootAncestor()
Всегда возвращает null, потому что у окон нет предков; они представляют собой вершину иерархии компонентов.
Overrides:
getFocusCycleRootAncestor в классе Component
Returns:
null
Since:
1.4
See Also:
  • Container.isFocusCycleRoot()

isFocusableWindow

public final boolean isFocusableWindow()
Возвращает, может ли это окно стать фокусированным окном, то есть, может ли это окно или любой из его подкомпонентов стать владельцем фокуса. Для того, чтобы рамка или диалоговое окно были фокусируемыми, их состояние фокусируемого окна должно быть установлено в true. Для того, чтобы окно, которое не является рамкой или диалоговым окном, было фокусируемым, его состояние фокусируемого окна должно быть установлено в true, ближайшая владеющая им рамка или диалоговое окно должно быть отображено на экране, и оно должно содержать по крайней мере один компонент в цикле перемещения фокуса. Если ни одно из этих условий не выполняется, то ни это окно, ни любой из его подкомпонентов не могут стать владельцем фокуса.
Returns:
true, если это окно может быть фокусированным окном; false в противном случае
Since:
1.4
See Also:
  • getFocusableWindowState()
  • setFocusableWindowState(boolean)
  • isShowing()
  • Component.isFocusable()

getFocusableWindowState

public boolean getFocusableWindowState()
Возвращает, может ли это окно стать фокусированным окном, если оно соответствует другим требованиям, изложенным в isFocusableWindow. Если этот метод возвращает false, то isFocusableWindow также вернёт false. Если этот метод возвращает true, то isFocusableWindow может вернуть true или false в зависимости от других требований, которым должно удовлетворять окно для того, чтобы быть фокусируемым.

По умолчанию все окна имеют состояние фокусируемого окна true.

Returns:
может ли это окно быть фокусированным окном
Since:
1.4
See Also:
  • isFocusableWindow()
  • setFocusableWindowState(boolean)
  • isShowing()
  • Component.setFocusable(boolean)

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:
  • isFocusableWindow()
  • getFocusableWindowState()
  • isShowing()
  • Component.setFocusable(boolean)

setAutoRequestFocus

public void setAutoRequestFocus(boolean autoRequestFocus)
Устанавливает, должен ли этот окно получать фокус при последующем отображении (с вызовом setVisible(true)) или перемещении вперёд (с вызовом toFront()).

Обратите внимание, что setVisible(true) может вызываться косвенно (например, при отображении владельца окна, что приводит к отображению окна). toFront() также может вызываться косвенно (например, при вызове setVisible(true) на уже видимом окне). Во всех таких случаях это свойство также действует.

Значение свойства не наследуется дочерними окнами.

Parameters:
autoRequestFocus - должен ли это окно получить фокус при последующем отображении или перемещении вперёд
Since:
1.7
See Also:
  • isAutoRequestFocus()
  • isFocusableWindow()
  • setVisible(boolean)
  • toFront()

isAutoRequestFocus

public boolean isAutoRequestFocus()
Возвращает значение, определяющее, должен ли этот окно получать фокус при последующем отображении (с вызовом setVisible(true)) или перемещении вперёд (с вызовом toFront()).

По умолчанию окно имеет значение autoRequestFocus true.

Returns:
autoRequestFocus значение
Since:
1.7
See Also:
  • setAutoRequestFocus(boolean)

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет обработчик PropertyChangeListener в список слушателей. Обработчик регистрируется для всех привязанных свойств этого класса, включая следующие:
  • шрифт окна ("font")
  • цвет фона окна ("background")
  • цвет переднего плана окна ("foreground")
  • возможность получения фокуса окна ("focusable")
  • состояние включения клавиш перемещения по фокусу ("focusTraversalKeysEnabled")
  • набор клавиш для перемещения вперед ("forwardFocusTraversalKeys")
  • набор клавиш для перемещения назад ("backwardFocusTraversalKeys")
  • набор клавиш для перемещения вверх по циклу ("upCycleFocusTraversalKeys")
  • набор клавиш для перемещения вниз по циклу ("downCycleFocusTraversalKeys")
  • политика перемещения по фокусу ("focusTraversalPolicy")
  • состояние фокусируемого окна ("focusableWindowState")
  • состояние всегда поверх ("alwaysOnTop")
Обратите внимание, что если это окно наследует привязанное свойство, то событие не будет сгенерировано в ответ на изменение унаследованного свойства.

Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.

Overrides:
addPropertyChangeListener в классе Container
Parameters:
listener - обработчик PropertyChangeListener, который нужно добавить
See Also:
  • Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Добавляет обработчик PropertyChangeListener в список слушателей для определенного свойства. Указанное свойство может быть определено пользователем или одним из следующих:
  • шрифт окна ("font")
  • цвет фона окна ("background")
  • цвет переднего плана окна ("foreground")
  • возможность получения фокуса окна ("focusable")
  • состояние включения клавиш перемещения по фокусу ("focusTraversalKeysEnabled")
  • набор клавиш для перемещения вперед ("forwardFocusTraversalKeys")
  • набор клавиш для перемещения назад ("backwardFocusTraversalKeys")
  • набор клавиш для перемещения вверх по циклу ("upCycleFocusTraversalKeys")
  • набор клавиш для перемещения вниз по циклу ("downCycleFocusTraversalKeys")
  • политика перемещения по фокусу ("focusTraversalPolicy")
  • состояние фокусируемого окна ("focusableWindowState")
  • состояние всегда поверх ("alwaysOnTop")
Обратите внимание, что если это окно наследует привязанное свойство, то событие не будет сгенерировано в ответ на изменение унаследованного свойства.

Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.

Overrides:
addPropertyChangeListener в классе Container
Parameters:
propertyName - одно из имен свойств, перечисленных выше
listener - обработчик PropertyChangeListener, который нужно добавить
See Also:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • Component.removePropertyChangeListener(java.beans.PropertyChangeListener)

isValidateRoot

public boolean isValidateRoot()
Указывает, является ли этот контейнер корнем валидации.

Window объекты являются корнями валидации, и, следовательно, они переопределяют этот метод, чтобы вернуть true.

Overrides:
isValidateRoot в классе Container
Returns:
true
Since:
1.7
See Also:
  • Container.isValidateRoot()

postEvent

@Deprecated public boolean postEvent(Event e)
Устарело.
Начиная с JDK версии 1.1, заменено на 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:
  • Component.setVisible(boolean)

applyResourceBundle

@Deprecated public void applyResourceBundle(ResourceBundle rb)
Устарело.
Начиная с J2SE 1.4, заменено на Component.applyComponentOrientation.
Parameters:
rb - набор ресурсов

applyResourceBundle

@Deprecated public void applyResourceBundle(String rbName)
Устарело.
Начиная с J2SE 1.4, заменено на Component.applyComponentOrientation.
Parameters:
rbName - имя набора ресурсов

setType

public void setType(Window.Type type)
Устанавливает тип окна. Этот метод может быть вызван только пока окно не отображается.
Parameters:
type - тип окна
Throws:
IllegalComponentStateException - если окно отображается.
IllegalArgumentException - если тип является null
Since:
1.7
See Also:
  • Component.isDisplayable()
  • getType()

getType

public Window.Type getType()
Возвращает тип окна.
Returns:
тип окна
Since:
1.7
See Also:
  • setType(java.awt.Window.Type)

getAccessibleContext

public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим окном. Для окон AccessibleContext имеет вид AccessibleAWTWindow. Новый AccessibleAWTWindow создается при необходимости.
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:
  • GraphicsEnvironment.getCenterPoint()

createBufferStrategy

public void createBufferStrategy(int numBuffers)
Создаёт новую стратегию для многобуферного отображения на этом компоненте. Многобуферность полезна для производительности отрисовки. Этот метод пытается создать лучшую доступную стратегию с заданным количеством буферов. Он всегда создаст BufferStrategy с этим количеством буферов. Сначала используется стратегия перелистывания страниц, затем стратегия блинкирования с использованием ускоренных буферов. В заключение используется неускоренная стратегия блинкирования.

Каждый раз при вызове этого метода существующая стратегия буферизации для этого компонента отбрасывается.

Parameters:
numBuffers - количество буферов для создания
Throws:
IllegalArgumentException - если numBuffers меньше 1.
IllegalStateException - если компонент недоступен для отображения
Since:
1.4
See Also:
  • Component.isDisplayable()
  • getBufferStrategy()

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()

getBufferStrategy

public BufferStrategy getBufferStrategy()
Возвращает стратегию буферизации, используемую этим компонентом. Этот метод вернёт null, если стратегия буферизации ещё не создана или была удалена.
Returns:
стратегия буферизации, используемая этим компонентом
Since:
1.4
See Also:
  • createBufferStrategy(int)

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:
  • setLocation(int, int)
  • isShowing()
  • setVisible(boolean)
  • isLocationByPlatform()
  • System.getProperty(String)

isLocationByPlatform

public boolean isLocationByPlatform()
Возвращает true, если это окно отобразится в стандартном месте для системного окна при следующем его отображении. Этот метод всегда возвращает false, если окно отображается на экране.
Returns:
отобразится ли это окно в стандартном месте
Since:
1.5
See Also:
  • setLocationByPlatform(boolean)
  • isShowing()

setBounds

public void setBounds(int x, int y, int width, int height)
Перемещает и изменяет размер этого компонента. Новое положение верхнего левого угла задаётся значениями x и y, а новый размер — значениями width и height.

Этот метод изменяет данные компоновки и поэтому делает иерархию компонентов недействительной.

Значения width или height автоматически увеличиваются, если они меньше минимального размера, заданного предыдущим вызовом setMinimumSize.

Метод изменяет геометрические данные. Поэтому системное окно может игнорировать такие запросы или может изменить запрошенные данные, чтобы объект Window был размещён и размером, соответствующим настройкам рабочего стола.

Overrides:
setBounds в классе Component
Parameters:
x - новая координата x этого компонента
y - новая координата y этого компонента
width - новый width этого компонента
height - новый height этого компонента
Since:
1.6
See Also:
  • Component.getBounds()
  • setLocation(int, int)
  • setLocation(Point)
  • setSize(int, int)
  • setSize(Dimension)
  • setMinimumSize(java.awt.Dimension)
  • setLocationByPlatform(boolean)
  • isLocationByPlatform()

setBounds

public void setBounds(Rectangle r)
Перемещает и изменяет размер этого компонента в соответствии с новым прямоугольником ограничивающей области r. Новое положение компонента задаётся значениями r.x и r.y, а новый размер задаётся значениями r.width и r.height.

Этот метод изменяет информацию, связанную с макетом, и поэтому делает недействительной иерархию компонентов.

Значения r.width или r.height будут автоматически увеличены, если любое из них меньше минимального размера, заданного предыдущим вызовом setMinimumSize.

Метод изменяет данные, связанные с геометрией. Поэтому система окон может игнорировать такие запросы или может изменить запрошенные данные, чтобы объект Window размещался и масштабировался так, чтобы соответствовать настройкам рабочего стола.

Overrides:
setBounds в классе Component
Параметры:
r - новый прямоугольник ограничивающей области для этого компонента
С:
1.6
См. также:
  • Component.getBounds()
  • setLocation(int, int)
  • setLocation(Point)
  • setSize(int, int)
  • setSize(Dimension)
  • setMinimumSize(java.awt.Dimension)
  • setLocationByPlatform(boolean)
  • isLocationByPlatform()

getOpacity

public float getOpacity()
Возвращает непрозрачность окна.
Возвращает:
непрозрачность окна
С:
1.7
См. также:
  • setOpacity(float)
  • GraphicsDevice.WindowTranslucency

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
См. также:
  • getOpacity()
  • setBackground(Color)
  • setShape(Shape)
  • Frame.isUndecorated()
  • Dialog.isUndecorated()
  • GraphicsDevice.WindowTranslucency
  • GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)

getShape

public Shape getShape()
Возвращает форму окна. Значение, возвращаемое этим методом, может отличаться от ранее установленного с помощью setShape(shape), но гарантируется, что оно представляет ту же форму.
Возвращает:
форму окна или null, если для окна не задана форма
С:
1.7
См. также:
  • setShape(Shape)
  • GraphicsDevice.WindowTranslucency

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
См. также:
  • getShape()
  • setBackground(Color)
  • setOpacity(float)
  • Frame.isUndecorated()
  • Dialog.isUndecorated()
  • GraphicsDevice.WindowTranslucency
  • GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)

getBackground

public Color getBackground()
Получает цвет фона этого окна.

Обратите внимание, что альфа-компонент возвращаемого цвета указывает, находится ли окно в режиме непрозрачности (прозрачности на пиксель).

Overrides:
getBackground в классе Component
Возвращает:
цвет фона этого компонента
См. также:
  • setBackground(Color)
  • isOpaque()
  • GraphicsDevice.WindowTranslucency

Установить цвет фона

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 in class Component
Parameters:
bgColor - цвет, который станет цветом фона этого окна.
Throws:
IllegalComponentStateException - если значение альфа заданного цвета фона меньше 1.0f и окно оформлено
IllegalComponentStateException - если значение альфа заданного цвета фона меньше 1.0f и окно находится в полноэкранном режиме
UnsupportedOperationException - если значение альфа заданного цвета фона меньше 1.0f и прозрачность PERPIXEL_TRANSLUCENT не поддерживается
See Also:
  • getBackground()
  • isOpaque()
  • setOpacity(float)
  • setShape(Shape)
  • Frame.isUndecorated()
  • Dialog.isUndecorated()
  • GraphicsDevice.WindowTranslucency
  • GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
  • GraphicsConfiguration.isTranslucencyCapable()

isOpaque

public boolean isOpaque()
Указывает, является ли окно в данный момент непрозрачным.

Метод возвращает false, если цвет фона окна не является null, а альфа-компонент цвета меньше 1.0f. В противном случае метод возвращает true.

Overrides:
isOpaque in class Component
Returns:
true, если окно непрозрачно, false в противном случае
Since:
1.7
See Also:
  • getBackground()
  • setBackground(Color)

paint

public void paint(Graphics g)
Отрисовывает контейнер. Это пересылает отрисовку всем лёгким компонентам, которые являются дочерними элементами этого контейнера. Если этот метод переопределяется, super.paint(g) должен вызываться, чтобы лёгкие компоненты были правильно отображены. Если дочерний компонент полностью обрезается текущими настройками обрезки в g, paint() не будет пересылаться этому дочернему элементу.
Overrides:
paint in class Container
Parameters:
g - указанное графическое окно
Since:
1.7
See Also:
  • Component.update(Graphics)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API