Класс 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.
Окно должно иметь родительское окно (frame, dialog или другое окно) при его создании.
В многоэкранной среде вы можете создать 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 таким образом, чтобы он лучше соответствовал настройкам рабочего стола.
Из-за асинхронной природы обработки событий ввода-вывода результаты, возвращаемые методами getBounds, getLocation, getLocationOnScreen и getSize, могут не отражать фактическую геометрию окна на экране, пока не будет обработано последнее требование. Во время обработки последующих запросов эти значения могут соответственно изменяться, пока система управления окнами выполняет эти запросы.
Приложение может произвольно задать размер и расположение невидимого Window, но система управления окнами может впоследствии изменить его размер и/или расположение, когда Window становится видимым. Будут сгенерированы один или несколько ComponentEvent, чтобы указать новую геометрию.
Окна способны генерировать следующие события WindowEvents: WindowOpened, WindowClosed, WindowGainedFocus, WindowLostFocus.
- С:
- 1.0
- См. также:
-
WindowEvent,addWindowListener(java.awt.event.WindowListener),BorderLayout, Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class | Window.AccessibleAWTWindow | Этот класс реализует поддержку доступности для класса |
static class | 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) | Создает новое, изначально невидимое окно с указанным |
Window(Window owner) | Создает новое, изначально невидимое окно с указанным |
Window(Window owner,
GraphicsConfiguration gc) | Создает новое, изначально невидимое окно с указанным родительским окном |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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() | Освобождает все нативные ресурсы экрана, используемые этим |
AccessibleContext | getAccessibleContext() | Возвращает AccessibleContext, связанный с этим окном. |
Color | getBackground() | Возвращает цвет фона этого окна. |
BufferStrategy | getBufferStrategy() | Возвращает |
boolean | getFocusableWindowState() | Возвращает, может ли это окно стать фокусированным окном, если оно соответствует другим требованиям, изложенным в |
Container | getFocusCycleRootAncestor() | Всегда возвращает |
Component | getFocusOwner() | Возвращает дочерний компонент этого окна, у которого есть фокус, если это окно фокусировано; в противном случае возвращает null. |
Set<AWTKeyStroke> | getFocusTraversalKeys(int id) | Возвращает ключ перемещения фокуса для этого окна. |
List<Image> | getIconImages() | Возвращает последовательность изображений, которые будут отображаться в качестве значка для этого окна. |
InputContext | getInputContext() | Возвращает контекст ввода для этого окна. |
<T extends EventListener> | getListeners(Class<T> listenerType) | Возвращает массив всех объектов, в настоящее время зарегистрированных как |
Locale | getLocale() | Возвращает объект |
Dialog.ModalExclusionType | getModalExclusionType() | Возвращает тип исключения модальности этого окна. |
Component | getMostRecentFocusOwner() | Возвращает дочерний компонент этого окна, который получит фокус, когда это окно будет фокусировано. |
float | getOpacity() | Возвращает непрозрачность окна. |
Window[] | getOwnedWindows() | Возвращает массив, содержащий все окна, которыми в настоящее время владеет это окно. |
Window | getOwner() | Возвращает владельца этого окна. |
static Window[] | getOwnerlessWindows() | Возвращает массив всех |
Shape | getShape() | Возвращает форму окна. |
Toolkit | getToolkit() | Возвращает набор инструментов этой рамки. |
Window.Type | getType() | Возвращает тип окна. |
String | getWarningString() | Получает строку предупреждения, отображаемую с этим окном. |
WindowFocusListener[] | getWindowFocusListeners() | Возвращает массив всех зарегистрированных слушателей событий фокуса окна на этом окне. |
WindowListener[] | getWindowListeners() | Возвращает массив всех зарегистрированных слушателей событий окна на этом окне. |
static Window[] | getWindows() | Возвращает массив всех |
WindowStateListener[] | getWindowStateListeners() | Возвращает массив всех зарегистрированных слушателей состояния окна на этом окне. |
void | hide() | Устарело. С JDK версии 1.5 заменено на setVisible(boolean). |
boolean | isActive() | Возвращает, является ли это окно активным. |
boolean | isAlwaysOnTop() | Возвращает, является ли это окно окном всегда сверху. |
boolean | isAlwaysOnTopSupported() | Возвращает, поддерживается ли режим всегда сверху для этого окна. |
boolean | isAutoRequestFocus() | Возвращает, должно ли это окно получить фокус после последующего отображения (с вызовом |
boolean | isFocusableWindow() | Возвращает, может ли это окно стать фокусированным окном, то есть, может ли это окно или любой из его подкомпонентов стать владельцем фокуса. |
boolean | isFocusCycleRoot() | Всегда возвращает |
boolean | isFocused() | Возвращает, является ли это окно фокусированным. |
boolean | isLocationByPlatform() | Возвращает |
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) | Обрабатывает события состояния окна, происходящие в этом окне, рассылае их любым зарегистрированным объектам |
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). |
void | setAlwaysOnTop(boolean alwaysOnTop) | Устанавливает, должно ли это окно всегда быть над другими окнами. |
void | setAutoRequestFocus(boolean autoRequestFocus) | Устанавливает, должно ли это окно получать фокус при последующем отображении (с вызовом |
void | setBackground(Color bgColor) | Устанавливает цвет фона этого окна. |
void | setBounds(int x,
int y,
int width,
int height) | Перемещает и изменяет размер этого компонента. |
void | setBounds(Rectangle r) | Перемещает и изменяет размер этого компонента, чтобы он соответствовал новой области |
void | setCursor(Cursor cursor) | Устанавливает изображение курсора на указанный курсор. |
void | setFocusableWindowState(boolean focusableWindowState) | Устанавливает, может ли это окно стать фокусированным окном, если оно удовлетворяет другим требованиям, изложенным в |
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) | Устанавливает, должно ли это окно отображаться по умолчанию для системного окна или по текущему местоположению (возвращаемому |
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) | Изменяет размер этого компонента так, чтобы его ширина была |
void | setSize(Dimension d) | Изменяет размер этого компонента так, чтобы его ширина была |
void | setType(Window.Type type) | Устанавливает тип окна. |
void | setVisible(boolean 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 Конструкторы
Window
public Window(Frame owner)
Создаёт новое, изначально невидимое окно с указанным Frame в качестве владельца. Окно не будет фокусируемым, если его владелец не отображён на экране.
Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если проверка завершится неудачно с SecurityException, то создаётся баннер предупреждения.
- Параметры:
-
owner-Frame, выполняющий роль владельца, илиnull, если у этого окна нет владельца - Исключения:
-
IllegalArgumentException- еслиowner'sGraphicsConfigurationне с устройства экрана -
HeadlessException- когдаGraphicsEnvironment.isHeadlessвозвращаетtrue - См. также:
-
GraphicsEnvironment.isHeadless(),isShowing()
Window
public Window(Window owner)
Создаёт новое, изначально невидимое окно с указанным Window в качестве владельца. Это окно не будет фокусируемым, пока его ближайший владелец Frame или Dialog отображён на экране.
Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если проверка завершится неудачно с SecurityException, то создаётся баннер предупреждения.
- Параметры:
-
owner-Window, выполняющий роль владельца, илиnull, если у этого окна нет владельца - Исключения:
-
IllegalArgumentException- еслиowner'sGraphicsConfigurationне с устройства экрана -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - С:
- 1.2
- См. также:
-
GraphicsEnvironment.isHeadless(),isShowing()
Window
public Window(Window owner,
GraphicsConfiguration gc) Создаёт новое, изначально невидимое окно с указанным владельцем Window и GraphicsConfiguration устройства экрана. Окно не будет фокусируемым, пока его ближайший владелец Frame или Dialog отображён на экране.
Если установлен менеджер безопасности, он вызывается для проверки AWTPermission("showWindowWithoutWarningBanner"). Если проверка завершится неудачно с SecurityException, то создаётся баннер предупреждения.
- Параметры:
-
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.
Если окно и/или его владелец еще не отображаются, оба они делаются отображаемыми перед вычислением предпочтительного размера. Окно проверяется после вычисления его размера.
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 будет размещен и масштабирован таким образом, который соответствует настройкам рабочего стола.
- Переопределяет:
-
setSizeв классеComponent - Параметры:
-
d- размер, определяющий новый размер этого компонента - С версии:
- 1.6
- См. также:
-
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 будет размещен и масштабирован таким образом, который соответствует настройкам рабочего стола.
- Переопределяет:
-
setSizeв классеComponent - Параметры:
-
width- новая ширина этого компонента в пикселях -
height- новая высота этого компонента в пикселях - С версии:
- 1.6
- См. также:
-
Component.getSize(),setBounds(int, int, int, int),setMinimumSize(java.awt.Dimension)
setLocation
public void setLocation(int x,
int y) Перемещает этот компонент в новое местоположение. Верхний левый угол нового местоположения задается параметрами x и y в системе координат родительского компонента.
Этот метод изменяет информацию, связанную с макетом, и, следовательно, делает недействительной иерархию компонентов.
Метод изменяет данные, связанные с геометрией. Поэтому собственная оконная система может игнорировать такие запросы или может изменить запрашиваемые данные, так что объект Window будет размещен и масштабирован таким образом, который соответствует настройкам рабочего стола.
- Переопределяет:
-
setLocationв классеComponent - Параметры:
-
x- координата x верхнего левого угла нового местоположения в системе координат родительского элемента -
y- координата y верхнего левого угла нового местоположения в системе координат родительского элемента - См. также:
-
Component.getLocation(),Component.setBounds(int, int, int, int),Component.invalidate()
setLocation
public void setLocation(Point p)
Перемещает этот компонент в новое местоположение. Верхний левый угол нового местоположения задается точкой p. Точка p задана в системе координат родительского элемента.
Этот метод изменяет информацию, связанную с макетом, и, следовательно, делает недействительной иерархию компонентов.
Метод изменяет данные, связанные с геометрией. Поэтому собственная оконная система может игнорировать такие запросы или может изменить запрашиваемые данные, так что объект Window будет размещен и масштабирован таким образом, который соответствует настройкам рабочего стола.
- Переопределяет:
-
setLocationв классеComponent - Параметры:
-
p- точка, определяющая верхний левый угол нового местоположения, заданная в системе координат родительского компонента - См. также:
-
Component.getLocation(),Component.setBounds(int, int, int, int),Component.invalidate()
reshape
@Deprecated
public void reshape(int x,
int y,
int width,
int height) setBounds(int, int, int, int).Описание скопировано из класса: Component
Изменяет прямоугольник ограничительной рамки для этого компонента.
- Переопределяет:
-
reshapeв классеComponent - Параметры:
-
x— координата x левого верхнего угла прямоугольника -
y— координата y левого верхнего угла прямоугольника -
width— ширина прямоугольника -
height— высота прямоугольника
setVisible
public void setVisible(boolean b)
Показывает или скрывает это Window в зависимости от значения параметра b.
Если метод отображает окно, то окно также фокусируется при следующих условиях:
- Окно соответствует требованиям, определённым в методе
isFocusableWindow(). - Свойство
Windowокна имеет значениеtrue. - Система отображения позволяет окну получить фокус.
autoRequestFocus). Свойство не учитывается, если окно является модальным диалоговым окном, блокирующим текущее окно с фокусом. Разработчики не должны предполагать, что окно является фокусированным или активным, пока оно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED.
- Переопределяет:
-
setVisibleв классеComponent - Параметры:
-
b— еслиtrue, делаетWindowвидимым, в противном случае скрываетWindow. ЕслиWindowи/или его владелец ещё не отображаются, оба делаются отображаемыми.Windowбудет валидирован до того, как он станет видимым. ЕслиWindowуже виден, это выведетWindowвперёд.Если
false, скрывает этоWindow, его подкомпоненты и все его дочерние элементы, которыми оно владеет.Windowи его подкомпоненты можно сделать видимыми снова, вызвав#setVisible(true). - См. также:
-
Component.isDisplayable(),Component.setVisible(boolean),toFront(),dispose(),setAutoRequestFocus(boolean),isFocusableWindow()
show
@Deprecated public void show()
setVisible(boolean).Делает окно видимым. Если окно и/или его владелец ещё не отображаются, оба делаются отображаемыми. Окно будет валидировано перед отображением. Если окно уже видимо, это выведет окно вперёд.
- Переопределяет:
-
showв классеComponent - См. также:
-
Component.isDisplayable(),toFront()
hide
@Deprecated public void hide()
setVisible(boolean).Скрыть это окно, его подкомпоненты и все его дочерние элементы, которыми оно владеет. Окно и его подкомпоненты можно сделать видимыми снова, вызвав show.
dispose
public void dispose()
Освобождает все системные ресурсы экрана, используемые этим Window, его подкомпоненты и все его дочерние элементы, которыми оно владеет. То есть ресурсы этих Component будут уничтожены, вся занимаемая ими память будет возвращена ОС, и они будут помечены как неотображаемые.
Window и его подкомпоненты можно сделать отображаемыми снова, перестроив системные ресурсы с последующим вызовом pack или show. Состояния воссозданного Window и его подкомпонентов будут идентичны состояниям этих объектов в момент уничтожения Window (не учитывая дополнительных изменений между этими действиями).
Примечание: Когда последнее отображаемое окно в виртуальной машине Java (VM) уничтожается, VM может завершиться. См. Проблемы потоков AWT для получения дополнительной информации.
- См. также:
-
Component.isDisplayable(),pack(),show()
toFront
public void toFront()
Если это окно видимо, выводит это окно вперёд и может сделать его фокусированным окном.
Помещает это окно в верхней части стека и отображает его поверх других окон в этой VM. Действий не будет, если это окно не видимо. Некоторые платформы не позволяют окнам, которые владеют другими окнами, появляться поверх этих окон, которыми они владеют. Некоторые платформы могут не позволить этой VM размещать свои окна поверх окон приложений нативного уровня или окон других VM. Это разрешение может зависеть от того, является ли уже сфокусированным какое-либо окно в этой VM. Будет предпринята попытка разместить это окно как можно выше в стеке; однако, разработчики не должны предполагать, что этот метод выведет это окно поверх всех других окон в каждой ситуации.
Разработчики не должны предполагать, что это окно является фокусированным или активным, пока это окно не получит событие WINDOW_GAINED_FOCUS или WINDOW_ACTIVATED. На платформах, где верхнее окно является фокусированным окном, этот метод, вероятно, сфокусирует это окно (если оно не сфокусировано) при следующих условиях:
- Окно соответствует требованиям, определённым в методе
isFocusableWindow(). - Свойство окна
autoRequestFocusимеет значениеtrue. - Система отображения позволяет окну получить фокус.
Если этот метод вызывает фокусировку этого окна, и это окно является окном-рамкой или диалоговым окном, оно также станет активным. Если это окно сфокусировано, но это не окно-рамка или диалоговое окно, то первое окно-рамка или диалоговое окно, являющееся владельцем этого окна, будет активировано.
Если это окно заблокировано модальным диалоговым окном, то блокирующее диалоговое окно выводится вперёд и остается над заблокированным окном.
- См. также:
-
toBack(),setAutoRequestFocus(boolean),isFocusableWindow()
toBack
public void toBack()
Если это окно видимо, помещает это окно на задний план и может привести к потере фокуса или активации, если это фокусированное или активное окно.
Помещает это окно в нижнюю часть стека и отображает его позади других окон в этой VM. Действий не будет, если это окно не видимо. Некоторые платформы не позволяют окнам, которыми владеют другие окна, появляться ниже своих владельцев. Будет предпринята попытка разместить это окно как можно ниже в стеке; однако, разработчики не должны предполагать, что этот метод разместит это окно ниже всех других окон в каждой ситуации.
Из-за вариаций в системах отображения нативного уровня нельзя дать никаких гарантий о изменениях фокусированных и активных окон. Разработчики не должны предполагать, что это окно больше не является фокусированным или активным, пока это окно не получит событие WINDOW_LOST_FOCUS или WINDOW_DEACTIVATED. На платформах, где верхнее окно является фокусированным окном, этот метод, вероятно, вызовет потерю фокуса этим окном. В этом случае следующий фокусируемый элемент в этой VM получит фокус. На платформах, где порядок стека обычно не влияет на фокусированное окно, этот метод, вероятно, оставит фокусированные и активные окна неизменными.
- См. также:
toFront()
getToolkit
public Toolkit getToolkit()
Возвращает инструментарий этой рамки.
- Переопределяет:
-
getToolkitв классеComponent - Возвращает:
- инструментарий этого окна.
- См. также:
-
Toolkit,Toolkit.getDefaultToolkit(),Component.getToolkit()
getWarningString
public final String getWarningString()
Получает строку предупреждения, отображаемую с этим окном. Если это окно небезопасно, строка предупреждения отображается где-то в видимой области окна. Окно небезопасно, если есть менеджер безопасности, и менеджер безопасности отказывается от AWTPermission("showWindowWithoutWarningBanner").
Если окно безопасно, то getWarningString возвращает null. Если окно небезопасно, этот метод проверяет системную переменную awt.appletWarning и возвращает строковое значение этой переменной.
- Возвращает:
- строку предупреждения для этого окна.
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 - Исключения:
-
SecurityException- если вызывающий поток не имеет разрешения установить свойство исключения модального режима для окна с заданнымexclusionType - С версии:
- 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()
Возвращает массив всех прослушивателей оконных событий, зарегистрированных в этом окне.
- Возвращает:
- все
WindowListenerэтого окна или пустой массив, если в настоящее время не зарегистрировано ни одного прослушивателя оконных событий - С версии:
- 1.4
- См. также:
-
addWindowListener(java.awt.event.WindowListener),removeWindowListener(java.awt.event.WindowListener)
getWindowFocusListeners
public WindowFocusListener[] getWindowFocusListeners()
Возвращает массив всех прослушивателей фокуса окна, зарегистрированных в этом окне.
- Возвращает:
- все
WindowFocusListenerэтого окна или пустой массив, если в настоящее время не зарегистрировано ни одного прослушивателя фокуса окна - С версии:
- 1.4
- См. также:
-
addWindowFocusListener(java.awt.event.WindowFocusListener),removeWindowFocusListener(java.awt.event.WindowFocusListener)
getWindowStateListeners
public WindowStateListener[] getWindowStateListeners()
Возвращает массив всех прослушивателей состояния окна, зарегистрированных в этом окне.
- Возвращает:
- все
WindowStateListenerэтого окна или пустой массив, если в настоящее время не зарегистрировано ни одного прослушивателя состояния окна - С версии:
- 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)
throws SecurityException Устанавливает, должно ли это окно всегда отображаться поверх других окон. Если есть несколько окон с режимом "всегда сверху", их относительный порядок не определен и зависит от платформы.
Если какое-то другое окно уже имеет режим "всегда сверху", относительный порядок между этими окнами не определен (зависит от платформы). Никакое окно не может быть расположено поверх окна с режимом "всегда сверху", за исключением, возможно, другого окна с режимом "всегда сверху".
Все окна, принадлежащие окну с режимом "всегда сверху", наследуют этот статус и автоматически становятся окнами с режимом "всегда сверху". Если окно перестает быть окном с режимом "всегда сверху", окна, которые оно владеет, больше не будут окнами с режимом "всегда сверху". Когда окно с режимом "всегда сверху" отправляется в toBack, его статус "всегда сверху" устанавливается в false.
Когда этот метод вызывается для окна со значением true, и окно видимо, и платформа поддерживает режим "всегда сверху" для этого окна, окно немедленно выводится вперед, "прилипая" к самой верхней позиции. Если окно в данный момент не видно, этот метод устанавливает состояние "всегда сверху" в true, но не выводит окно вперед. Позже, когда окно будет показано, оно будет иметь режим "всегда сверху".
Когда этот метод вызывается для окна со значением false, состояние "всегда сверху" устанавливается в обычное. Это также может вызвать неопределенное, зависящее от платформы, изменение порядка окон верхнего уровня, но другие окна с режимом "всегда сверху" останутся в самом верхнем положении. Вызов этого метода со значением false для окна с обычным состоянием не имеет эффекта.
Примечание: некоторые платформы могут не поддерживать окна с режимом "всегда сверху". Чтобы определить, поддерживаются ли окна с режимом "всегда сверху" текущей платформой, используйте Toolkit.isAlwaysOnTopSupported() и isAlwaysOnTopSupported(). Если режим "всегда сверху" не поддерживается для этого окна или среда выполнения этого окна не поддерживает окна с режимом "всегда сверху", вызов этого метода не имеет эффекта.
Если установлен SecurityManager, вызывающая нить должна иметь разрешение AWTPermission "setWindowAlwaysOnTop" для установки значения этого свойства. Если это разрешение не предоставлено, этот метод выбросит исключение SecurityException, а текущее значение свойства останется неизменным.
- Parameters:
-
alwaysOnTop- true, если окно должно всегда отображаться поверх других окон - Throws:
-
SecurityException- если вызывающая нить не имеет разрешения на установку значения свойства "всегда сверху" - Since:
- 1.5
- See Also:
-
isAlwaysOnTop(),toFront(),toBack(),AWTPermission,isAlwaysOnTopSupported(),getToolkit(),Toolkit.isAlwaysOnTopSupported()
isAlwaysOnTopSupported
public boolean isAlwaysOnTopSupported()
Возвращает, поддерживается ли режим "всегда сверху" для этого окна. Некоторые платформы могут не поддерживать окна с режимом "всегда сверху", некоторые могут поддерживать только некоторые типы окон верхнего уровня; например, платформа может не поддерживать модальные диалоговые окна с режимом "всегда сверху".
- Returns:
-
true, если режим "всегда сверху" поддерживается для этого окна и среда выполнения этого окна поддерживает окна с режимом "всегда сверху",falseв противном случае - Since:
- 1.6
- See Also:
-
setAlwaysOnTop(boolean),getToolkit(),Toolkit.isAlwaysOnTopSupported()
isAlwaysOnTop
public final boolean isAlwaysOnTop()
Возвращает, является ли это окно окном с режимом "всегда сверху".
- Returns:
-
true, если окно имеет состояние "всегда сверху",falseв противном случае - Since:
- 1.5
- See Also:
setAlwaysOnTop(boolean)
getFocusOwner
public Component getFocusOwner()
Возвращает дочерний компонент Component этого окна, который имеет фокус, если это окно имеет фокус; в противном случае возвращает null.
- Returns:
- дочерний компонент Component с фокусом или null, если у этого окна нет фокуса
- See Also:
-
getMostRecentFocusOwner(),isFocused()
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
Возвращает дочерний компонент Component этого окна, который получит фокус, когда это окно получит фокус. Если это окно имеет фокус, этот метод возвращает тот же компонент, что и getFocusOwner(). Если у этого окна нет фокуса, то возвращается дочерний компонент Component, который в последний раз запрашивал фокус. Если ни один дочерний компонент никогда не запрашивал фокус, и это фокусируемое окно, то возвращается начальный фокусируемый компонент этого окна. Если ни один дочерний компонент никогда не запрашивал фокус, и это нефокусируемое окно, то возвращается null.
- Returns:
- дочерний компонент Component, который получит фокус, когда это окно получит фокус
- Since:
- 1.4
- See Also:
-
getFocusOwner(),isFocused(),isFocusableWindow()
isActive
public boolean isActive()
Возвращает, активен ли этот объект Window. Только Frame или Dialog могут быть активными. Системное окно может обозначать активный объект Window или его дочерние элементы специальными декорациями, такими как выделенная строка заголовка. Активный объект Window всегда является либо фокусированным объектом Window, либо первым Frame или Dialog, являющимся владельцем фокусированного объекта Window.
- Возвращает:
- является ли это активным объектом Window.
- С:
- 1.4
- См. также:
isFocused()
isFocused
public boolean isFocused()
Возвращает, имеет ли этот объект Window фокус. Если существует владелец фокуса, фокусированный объект Window — это объект Window, который является или содержит этот владелец фокуса. Если владельца фокуса нет, то ни один объект Window не имеет фокуса.
Если фокусированный объект Window является Frame или Dialog, то он также является активным объектом Window. В противном случае активным объектом Window является первый Frame или Dialog, являющийся владельцем фокусированного объекта Window.
- Возвращает:
- является ли это фокусированным объектом Window.
- С:
- 1.4
- См. также:
isActive()
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
Получает ключ перехода фокуса для этого объекта Window. (См.
setFocusTraversalKeys для полного описания каждого ключа.)
Если ключ перехода фокуса не был явно задан для этого объекта Window, то возвращается ключ перехода фокуса родителя этого объекта Window. Если ключ перехода фокуса не был явно задан ни для одного из предков этого объекта Window, то возвращается ключ перехода фокуса по умолчанию текущего KeyboardFocusManager.
- Переопределяет:
-
getFocusTraversalKeysв классеContainer - Параметры:
-
id— один из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Возвращает:
- объект AWTKeyStroke для указанного ключа
- Исключения:
-
IllegalArgumentException— если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - С:
- 1.4
- См. также:
-
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)
Не выполняет никаких действий, так как окна всегда должны быть корнями цикла перехода фокуса. Переданное значение игнорируется.
- Переопределяет:
-
setFocusCycleRootв классеContainer - Параметры:
-
focusCycleRoot— это значение игнорируется - С:
- 1.4
- См. также:
-
isFocusCycleRoot(),Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),Container.getFocusTraversalPolicy()
isFocusCycleRoot
public final boolean isFocusCycleRoot()
Всегда возвращает true, так как все окна должны быть корнями цикла перехода фокуса.
- Переопределяет:
-
isFocusCycleRootв классеContainer - Возвращает:
true- С:
- 1.4
- См. также:
-
setFocusCycleRoot(boolean),Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),Container.getFocusTraversalPolicy()
getFocusCycleRootAncestor
public final Container getFocusCycleRootAncestor()
Всегда возвращает null, так как окна не имеют предков; они представляют собой верхнюю часть иерархии компонентов.
- Переопределяет:
-
getFocusCycleRootAncestorв классеComponent - Возвращает:
null- С:
- 1.4
- См. также:
Container.isFocusCycleRoot()
isFocusableWindow
public final boolean isFocusableWindow()
Возвращает, может ли это окно стать фокусированным окном, то есть может ли это окно или любой из его подкомпонентов стать владельцем фокуса. Для того, чтобы Frame или Dialog были фокусируемыми, их состояние фокусируемого окна должно быть установлено в true. Для того, чтобы окно, которое не является Frame или Dialog, было фокусируемым, его состояние фокусируемого окна должно быть установлено в true, его ближайший владелец Frame или Dialog должен быть отображён на экране, и оно должно содержать по крайней мере один компонент в цикле перехода фокуса. Если ни одно из этих условий не выполняется, ни это окно, ни какой-либо из его подкомпонентов не могут стать владельцем фокуса.
- Возвращает:
-
true, если это окно может быть фокусированным окном;falseв противном случае - С:
- 1.4
- См. также:
-
getFocusableWindowState(),setFocusableWindowState(boolean),isShowing(),Component.isFocusable()
getFocusableWindowState
public boolean getFocusableWindowState()
Возвращает, может ли это окно стать фокусированным окном, если оно удовлетворяет другим требованиям, описанным в isFocusableWindow. Если этот метод возвращает false, то isFocusableWindow также вернёт false. Если этот метод возвращает true, то isFocusableWindow может вернуть true или false в зависимости от других требований, которые должны быть выполнены для того, чтобы окно было фокусируемым.
По умолчанию у всех окон состояние фокусируемого окна равно true.
- Возвращает:
- может ли это окно быть фокусированным окном
- С:
- 1.4
- См. также:
-
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 невидимо, а затем отобразите его.
- Параметры:
-
focusableWindowState— может ли это окно быть фокусированным окном - С:
- 1.4
- См. также:
-
isFocusableWindow(),getFocusableWindowState(),isShowing(),Component.setFocusable(boolean)
setAutoRequestFocus
public void setAutoRequestFocus(boolean autoRequestFocus)
Устанавливает, должно ли это окно получать фокус при последующем отображении (с вызовом setVisible(true)) или перемещении вперёд (с вызовом toFront()).
Обратите внимание, что setVisible(true) может вызываться косвенно (например, при отображении владельца окна, что приводит к отображению окна). toFront() также может вызываться косвенно (например, когда setVisible(true) вызывается для уже отображённого окна). Во всех таких случаях это свойство также вступает в силу.
Значение свойства не наследуется дочерними окнами.
- Параметры:
-
autoRequestFocus— должно ли это окно получать фокус при последующем отображении или перемещении вперёд - С:
- 1.7
- См. также:
-
isAutoRequestFocus(),isFocusableWindow(),setVisible(boolean),toFront()
isAutoRequestFocus
public boolean isAutoRequestFocus()
Возвращает, должно ли это окно получать фокус при последующем отображении (с вызовом setVisible(true)) или перемещении вперёд (с вызовом toFront()).
По умолчанию окно имеет значение autoRequestFocus равное true.
- Возвращает:
-
значение
autoRequestFocus - С:
- 1.7
- См. также:
setAutoRequestFocus(boolean)
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет обработчик событий изменения свойств (PropertyChangeListener) в список слушателей. Слушатель регистрируется для всех связанных свойств этого класса, включая следующие:
- шрифт окна ("font")
- цвет фона окна ("background")
- цвет переднего плана окна ("foreground")
- возможность получения фокуса ("focusable")
- состояние включения клавиш перехода фокуса ("focusTraversalKeysEnabled")
- набор клавиш перехода фокуса вперёд ("forwardFocusTraversalKeys")
- набор клавиш перехода фокуса назад ("backwardFocusTraversalKeys")
- набор клавиш перехода фокуса вверх ("upCycleFocusTraversalKeys")
- набор клавиш перехода фокуса вниз ("downCycleFocusTraversalKeys")
- политика перехода фокуса ("focusTraversalPolicy")
- состояние окна, получающего фокус ("focusableWindowState")
- состояние "всегда сверху" ("alwaysOnTop")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.
- Переопределяет:
-
addPropertyChangeListenerв классеContainer - Параметры:
-
listener- добавляемый обработчик событий изменения свойств - См. также:
-
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, исключение не выбрасывается, и никаких действий не выполняется.
- Переопределяет:
-
addPropertyChangeListenerв классеContainer - Параметры:
-
propertyName- одно из названий свойств, перечисленных выше -
listener- добавляемый обработчик событий изменения свойств - См. также:
-
addPropertyChangeListener(java.beans.PropertyChangeListener),Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
isValidateRoot
public boolean isValidateRoot()
Указывает, является ли этот контейнер корневым объектом для проверки.
Window объекты являются корневыми объектами проверки и, следовательно, переопределяют этот метод, чтобы вернуть true.
- Переопределяет:
-
isValidateRootв классеContainer - Возвращает:
true- С:
- 1.7
- См. также:
Container.isValidateRoot()
postEvent
@Deprecated public boolean postEvent(Event e)
dispatchEvent(AWTEvent).Описание скопировано из интерфейса: MenuContainer
Отправляет событие слушателям.
- Задано в:
-
postEventв интерфейсеMenuContainer - Переопределяет:
-
postEventв классеComponent - Параметры:
-
e- событие для отправки - Возвращает:
- результат отправки события
isShowing
public boolean isShowing()
Проверяет, отображается ли это окно на экране.
- Переопределяет:
-
isShowingв классеComponent - Возвращает:
-
true, если компонент отображается,falseв противном случае - См. также:
Component.setVisible(boolean)
applyResourceBundle
@Deprecated public void applyResourceBundle(ResourceBundle rb)
Component.applyComponentOrientation.- Параметры:
-
rb- набор ресурсов
applyResourceBundle
@Deprecated public void applyResourceBundle(String rbName)
Component.applyComponentOrientation.- Параметры:
-
rbName- имя набора ресурсов
setType
public void setType(Window.Type type)
Устанавливает тип окна. Этот метод может быть вызван только когда окно не отображается.
- Параметры:
-
type- тип окна - Исключения:
-
IllegalComponentStateException- если окно отображается. -
IllegalArgumentException- если тип являетсяnull - С:
- 1.7
- См. также:
-
Component.isDisplayable(),getType()
getType
public Window.Type getType()
Возвращает тип окна.
- Возвращает:
- тип окна
- С:
- 1.7
- См. также:
setType(java.awt.Window.Type)
getAccessibleContext
public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим окном. Для окон AccessibleContext представлен в виде AccessibleAWTWindow. Новый AccessibleAWTWindow создаётся при необходимости.
- Задано в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеComponent - Возвращает:
- AccessibleAWTWindow, который служит AccessibleContext для этого окна
- С:
- 1.3
setLocationRelativeTo
public void setLocationRelativeTo(Component c)
Устанавливает положение окна относительно указанного компонента в соответствии со следующими сценариями.
Целевой экран, упомянутый ниже, — это экран, на котором должно разместиться окно после вызова метода setLocationRelativeTo.
- Если компонент является
nullилиGraphicsConfiguration, связанный с этим компонентом, являетсяnull, окно размещается в центре экрана. Точку центра можно получить с помощью методаGraphicsEnvironment.getCenterPoint. - Если компонент не
null, но он не отображается в данный момент, окно размещается в центре целевого экрана, определяемогоGraphicsConfiguration, связанным с этим компонентом. - Если компонент не
nullи отображается на экране, окно размещается таким образом, чтобы центр окна совпадал с центром компонента.
Если конфигурация экранов не позволяет перемещать окно с одного экрана на другой, окно размещается только в позиции, определённой в соответствии с вышеуказанными условиями, и его GraphicsConfiguration не изменяется.
Примечание: Если нижний край окна выходит за пределы экрана, окно размещается по стороне Component, которая ближе к центру экрана. Таким образом, если компонент находится в правой части экрана, окно размещается слева, и наоборот.
Если после вычисления положения окна верхний, левый или правый край окна выходит за пределы экрана, окно размещается таким образом, что верхний, левый или правый край окна совпадает с соответствующим краем экрана. Если и левый, и правый края окна выходят за пределы экрана, окно размещается слева от экрана. Аналогичное размещение происходит, если и верхний, и нижний края выходят за пределы экрана. В этом случае окно размещается в верхней части экрана.
Метод изменяет данные, связанные с геометрией. Поэтому системное окно может игнорировать такие запросы или может изменить запрошенные данные так, чтобы объект Window был размещён и размером в соответствии с настройками рабочего стола.
- Параметры:
-
c- компонент, относительно которого определяется положение окна - С:
- 1.4
- См. также:
GraphicsEnvironment.getCenterPoint()
createBufferStrategy
public void createBufferStrategy(int numBuffers)
Создаёт новую стратегию для многобуферного рендеринга на этом компоненте. Многобуферный рендеринг полезен для повышения производительности рендеринга. Этот метод пытается создать лучшую стратегию с заданным числом буферов. Он всегда создаст стратегию с этим числом буферов. Сначала пытается создать стратегоию для переключения страниц, затем — стратегию с использованием ускоренных буферов. И, наконец, используется неускоренная стратегия с использованием копирования.
Каждый раз, когда вызывается этот метод, существующая стратегия буферизации для этого компонента отбрасывается.
- Параметры:
-
numBuffers- количество буферов для создания - Исключения:
-
IllegalArgumentException- если numBuffers меньше 1. -
IllegalStateException- если компонент не отображается - С:
- 1.4
- См. также:
-
Component.isDisplayable(),getBufferStrategy()
createBufferStrategy
public void createBufferStrategy(int numBuffers,
BufferCapabilities caps)
throws AWTException Создаёт новую стратегию для многобуферного рендеринга на этом компоненте с необходимыми возможностями буфера. Это полезно, например, если требуется только ускоренная память или переключение страниц (как указано в возможностях буфера).
Каждый раз, когда вызывается этот метод, существующая стратегия буферизации для этого компонента отбрасывается.
- Параметры:
-
numBuffers- количество буферов для создания, включая передний буфер -
caps- необходимые возможности для создания стратегии буферизации; не может бытьnull - Исключения:
-
AWTException- если предоставленные возможности не могут быть поддержаны или удовлетворены; это может произойти, например, если в настоящее время недостаточно ускоренной памяти или если задан переворот страниц, но он невозможен. -
IllegalArgumentException- если numBuffers меньше 1 или если caps являетсяnull - С:
- 1.4
- См. также:
getBufferStrategy()
getBufferStrategy
public BufferStrategy getBufferStrategy()
Возвращает BufferStrategy, используемую этим компонентом. Этот метод вернёт null, если BufferStrategy ещё не была создана или была удалена.
- Возвращает:
- стратегию буферизации, используемую этим компонентом
- С:
- 1.4
- См. также:
createBufferStrategy(int)
setLocationByPlatform
public void setLocationByPlatform(boolean locationByPlatform)
Устанавливает, должен ли этот объект Window отображаться по умолчанию для системы оконного интерфейса или по текущим координатам (возвращаемым методом 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.- Параметры:
-
locationByPlatform-true, если это окно должно отображаться по умолчанию,false, если по текущим координатам - Исключения:
-
IllegalComponentStateException- если окно отображается на экране, и locationByPlatform установлено вtrue. - С:
- 1.5
- См. также:
-
setLocation(int, int),isShowing(),setVisible(boolean),isLocationByPlatform(),System.getProperty(String)
isLocationByPlatform
public boolean isLocationByPlatform()
Возвращает true, если это окно будет отображаться по умолчанию для системы оконного интерфейса при следующем отображении. Этот метод всегда возвращает false, если окно отображается на экране.
- Возвращает:
- будет ли это окно отображаться по умолчанию
- С:
- 1.5
- См. также:
-
setLocationByPlatform(boolean),isShowing()
setBounds
public void setBounds(int x,
int y,
int width,
int height) Перемещает и изменяет размер этого компонента. Новое расположение левого верхнего угла задаётся x и y, а новый размер задаётся width и height.
Этот метод изменяет информацию, связанную с макетом, и поэтому делает иерархию компонентов недействительной.
Значения width или height автоматически увеличиваются, если они меньше минимального размера, заданного предыдущим вызовом метода setMinimumSize.
Метод изменяет данные, относящиеся к геометрии. Поэтому система оконного интерфейса может игнорировать такие запросы или может изменить запрошенные данные так, чтобы объект Window был размещён и размерам, соответствующим настройкам рабочего стола.
- Переопределяет:
-
setBoundsв классеComponent - Параметры:
-
x- новая координата x этого компонента -
y- новая координата y этого компонента -
width- новыйwidthэтого компонента -
height- новыйheightэтого компонента - С:
- 1.6
- См. также:
-
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 был размещён и размерам, соответствующим настройкам рабочего стола.
- Переопределяет:
-
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, этот метод восстанавливает форму по умолчанию, делая окно прямоугольным на большинстве платформ.
Для установки непустой формы должны быть выполнены следующие условия:
- Прозрачность
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()
Возвращает цвет фона этого окна.
Обратите внимание, что альфа-компонента возвращаемого цвета указывает, находится ли окно в режиме неполной непрозрачности (прозрачность на уровне каждого пикселя).
- Переопределяет:
-
getBackgroundв классеComponent - Возвращает:
- цвет фона этого компонента
- См. также:
-
setBackground(Color),isOpaque(),GraphicsDevice.WindowTranslucency
setBackground
public void setBackground(Color bgColor)
Устанавливает цвет фона этого окна.
Если система окон поддерживает прозрачность PERPIXEL_TRANSLUCENT, альфа-компонента заданного цвета фона может повлиять на режим работы этого окна: она указывает, должно ли это окно быть непрозрачным (альфа равна 1.0f) или полупрозрачным на уровне каждого пикселя (альфа меньше 1.0f). Если заданный цвет фона null, окно считается полностью непрозрачным.
Для активации режима полупрозрачности на уровне каждого пикселя для этого окна должны быть выполнены следующие условия:
- Прозрачность
PERPIXEL_TRANSLUCENTдолжна поддерживаться графическим устройством, на котором расположено это окно. - Окно должно быть без декораций (см.
Frame.setUndecorated(boolean)иDialog.setUndecorated(boolean)). - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window)).
Если альфа-компонента запрошенного цвета фона меньше 1.0f, и любое из вышеперечисленных условий не выполнено, цвет фона этого окна не изменится, альфа-компонента заданного цвета фона не повлияет на режим работы окна, и будет выброшено либо исключение UnsupportedOperationException, либо
IllegalComponentStateException.
Когда окно полупрозрачно на уровне каждого пикселя, подсистема отрисовки учитывает значение альфы каждого пикселя. Если пиксель отрисовывается с альфа-компонентой равной нулю, он становится визуально прозрачным. Если альфа пикселя равна 1.0f, пиксель полностью непрозрачен. Промежуточные значения альфа-компоненты цвета делают пиксель полупрозрачным. В этом режиме фон окна рисуется со значением альфы заданного цвета фона. Если значение альфы аргумента этого метода равно 0, фон не рисуется вообще.
Фактический уровень прозрачности заданного пикселя также зависит от непрозрачности окна (см. setOpacity(float)), а также от текущей формы этого окна (см. setShape(Shape)).
Обратите внимание, что отрисовка пикселя с альфа-значением 0 может или не может отключить обработку событий мыши на этом пикселе. Это зависит от платформы. Чтобы убедиться, что события мыши не передаются на конкретный пиксель, пиксель должен быть исключен из формы окна.
Включение режима прозрачности на уровне каждого пикселя может изменить конфигурацию графики этого окна из-за требований родной платформы.
- Переопределяет:
-
setBackgroundв классеComponent - Параметры:
-
bgColor- цвет, который станет цветом фона этого окна. - Исключения:
-
IllegalComponentStateException- если значение альфы заданного цвета фона меньше1.0f, и окно имеет декорации -
IllegalComponentStateException- если значение альфы заданного цвета фона меньше1.0f, и окно находится в полноэкранном режиме -
UnsupportedOperationException- если значение альфы заданного цвета фона меньше1.0f, и прозрачностьPERPIXEL_TRANSLUCENTне поддерживается - См. также:
-
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.
- Переопределяет:
-
isOpaqueв классеComponent - Возвращает:
-
true, если окно непрозрачно,falseв противном случае - С:
- 1.7
- См. также:
-
getBackground(),setBackground(Color)
paint
public void paint(Graphics g)
Отрисовывает контейнер. Перенаправляет отрисовку на все легковесные компоненты, являющиеся дочерними элементами этого контейнера. Если этот метод переопределен, следует вызвать super.paint(g), чтобы легковесные компоненты отображались должным образом. Если дочерний компонент полностью обрезается текущими настройками обрезки в g, paint() не будет перенаправлен на этот дочерний элемент.
- Переопределяет:
-
paintв классеContainer - Параметры:
-
g- указанное графическое окно - С:
- 1.7
- См. также:
Component.update(Graphics)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Window.html