Класс Frame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
- Все реализованные интерфейсы:
- ImageObserver, MenuContainer, Serializable, Accessible
- Прямые известные подклассы:
- JFrame
public class Frame extends Window implements MenuContainer
Окно Frame — это окно верхнего уровня с заголовком и рамкой.
Размер рамки включает любую область, выделенную для рамки. Размеры области рамки можно получить, используя метод getInsets, однако, поскольку эти размеры зависят от платформы, действительное значение отступов (insets) нельзя получить, пока рамка не станет отображаемой, вызвав pack или show. Поскольку область рамки включена в общий размер рамки, рамка фактически скрывает часть рамки, ограничивая область, доступную для отрисовки и/или отображения подкомпонентов, до прямоугольника с верхним левым углом в точке (insets.left, insets.top), и размерами width - (insets.left + insets.right) на height - (insets.top + insets.bottom).
По умолчанию для рамки используется компоновщик BorderLayout.
Рамка может иметь свои родные декорации (например, Frame и Titlebar) отключенные с помощью setUndecorated. Это можно сделать только тогда, когда рамка не является displayable.
В многоэкранной среде можно создать Frame на другом экране, создав Frame с помощью Frame(GraphicsConfiguration) или Frame(String title, GraphicsConfiguration). Объект GraphicsConfiguration является одним из объектов GraphicsConfiguration целевого устройства экрана.
В многоэкранной среде виртуального устройства, в которой область рабочего стола может охватывать несколько физических устройств экрана, границы всех конфигураций относительны к виртуальной системе координат. Начало виртуальной системы координат находится в верхнем левом углу основного физического экрана. В зависимости от расположения основного экрана в виртуальном устройстве, возможны отрицательные координаты, как показано на следующей схеме.
В такой среде при вызове setLocation, необходимо передать виртуальную координату в этот метод. Аналогично, вызов getLocationOnScreen для Frame возвращает координаты виртуального устройства. Вызовите метод getBounds для GraphicsConfiguration чтобы найти его начало в виртуальной системе координат.
Следующий код устанавливает положение Frame в (10, 10) относительно начала физического экрана соответствующего GraphicsConfiguration. Если границы GraphicsConfiguration не учитываются, расположение Frame будет установлено в (10, 10) относительно виртуальной системы координат и отобразится на основном физическом экране, что может отличаться от физического экрана указанного GraphicsConfiguration.
Frame f = new Frame(GraphicsConfiguration gc);
Rectangle bounds = gc.getBounds();
f.setLocation(10 + bounds.x, 10 + bounds.y); Рамки могут генерировать следующие типы WindowEvent:
-
WINDOW_OPENED -
WINDOW_CLOSING:
Если программа не скрывает или не удаляет окно явно при обработке этого события, операция закрытия окна отменяется. -
WINDOW_CLOSED -
WINDOW_ICONIFIED -
WINDOW_DEICONIFIED -
WINDOW_ACTIVATED -
WINDOW_DEACTIVATED -
WINDOW_GAINED_FOCUS -
WINDOW_LOST_FOCUS -
WINDOW_STATE_CHANGED
- С:
- JDK1.0
- См. также:
-
WindowEvent,Window.addWindowListener(java.awt.event.WindowListener), Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
protected class |
Frame.AccessibleAWTFrame Этот класс реализует поддержку доступности для класса |
Вложенные классы/интерфейсы, унаследованные от класса java.awt.Window
Window.AccessibleAWTWindow, Window.Type Вложенные классы/интерфейсы, унаследованные от класса java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, унаследованные от класса java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Поля
| Модификатор и тип | Поле и описание |
|---|---|
static int |
CROSSHAIR_CURSOR Устарело. заменено на |
static int |
DEFAULT_CURSOR Устарело. заменено на |
static int |
E_RESIZE_CURSOR Устарело. заменено на |
static int |
HAND_CURSOR Устарело. заменено на |
static int |
ICONIFIED Этот бит состояния указывает, что рамка минимизирована. |
static int |
MAXIMIZED_BOTH Эта маска бита состояния указывает, что рамка полностью максимализирована (то есть как по горизонтали, так и по вертикали). |
static int |
MAXIMIZED_HORIZ Этот бит состояния указывает, что рамка максимализирована по горизонтали. |
static int |
MAXIMIZED_VERT Этот бит состояния указывает, что рамка максимализирована по вертикали. |
static int |
MOVE_CURSOR Устарело. заменено на |
static int |
N_RESIZE_CURSOR Устарело. заменено на |
static int |
NE_RESIZE_CURSOR Устарело. заменено на |
static int |
NORMAL Рамка в состоянии "нормаль". |
static int |
NW_RESIZE_CURSOR Устарело. заменено на |
static int |
S_RESIZE_CURSOR Устарело. заменено на |
static int |
SE_RESIZE_CURSOR Устарело. заменено на |
static int |
SW_RESIZE_CURSOR Устарело. заменено на |
static int |
TEXT_CURSOR Устарело. заменено на |
static int |
W_RESIZE_CURSOR Устарело. заменено на |
static int |
WAIT_CURSOR Устарело. заменено на |
Поля, унаследованные от класса 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 Конструкторы
| Конструктор и описание |
|---|
Frame() Создаёт новый экземпляр |
Frame(GraphicsConfiguration gc) Создаёт новое, изначально невидимое |
Frame(String title) Создаёт новый, изначально невидимый объект |
Frame(String title,
GraphicsConfiguration gc) Создаёт новый, изначально невидимый объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addNotify() Делает этот Frame отображаемым, подключив его к ресурсу нативного экрана. |
AccessibleContext |
getAccessibleContext() Получает AccessibleContext, связанный с этим Frame. |
int |
getCursorType() Устаревшее. С версии JDK 1.1 заменено на |
int |
getExtendedState() Получает состояние этого фрейма. |
static Frame[] |
getFrames() Возвращает массив всех |
Image |
getIconImage() Возвращает изображение, которое будет отображаться в качестве значка для этого фрейма. |
Rectangle |
getMaximizedBounds() Получает максимальные размеры для этого фрейма. |
MenuBar |
getMenuBar() Получает строку меню для этого фрейма. |
int |
getState() Получает состояние этого фрейма (устарело). |
String |
getTitle() Получает заголовок фрейма. |
boolean |
isResizable() Указывает, можно ли пользователю изменять размер этого фрейма. |
boolean |
isUndecorated() Указывает, является ли этот фрейм без декораций. |
protected String |
paramString() Возвращает строку, представляющую состояние этого |
void |
remove(MenuComponent m) Удаляет указанную строку меню из этого фрейма. |
void |
removeNotify() Делает этот Frame неотображаемым, удалив его подключение к ресурсу нативного экрана. |
void |
setBackground(Color bgColor) Устанавливает цвет фона этого окна. |
void |
setCursor(int cursorType) Устаревшее. С версии JDK 1.1 заменено на |
void |
setExtendedState(int state) Устанавливает состояние этого фрейма. |
void |
setIconImage(Image image) Устанавливает изображение, которое будет отображаться в качестве значка для этого окна. |
void |
setMaximizedBounds(Rectangle bounds) Устанавливает максимальные размеры для этого фрейма. |
void |
setMenuBar(MenuBar mb) Устанавливает строку меню для этого фрейма на указанную строку меню. |
void |
setOpacity(float opacity) Устанавливает непрозрачность окна. |
void |
setResizable(boolean resizable) Устанавливает возможность изменения размера этого фрейма пользователем. |
void |
setShape(Shape shape) Устанавливает форму окна. |
void |
setState(int state) Устанавливает состояние этого фрейма (устарело). |
void |
setTitle(String title) Устанавливает заголовок для этого фрейма на указанную строку. |
void |
setUndecorated(boolean undecorated) Отключает или включает декорации для этого фрейма. |
Методы, унаследованные от класса java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, 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, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, 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, getPeer, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.awt.MenuContainer
getFont, postEvent Поля
DEFAULT_CURSOR
@Deprecated public static final int DEFAULT_CURSOR
Устарело. Заменено на Cursor.DEFAULT_CURSOR.
- См. также:
- Значения константных полей
CROSSHAIR_CURSOR
@Deprecated public static final int CROSSHAIR_CURSOR
Устарело. Заменено на Cursor.CROSSHAIR_CURSOR.
- См. также:
- Значения константных полей
TEXT_CURSOR
@Deprecated public static final int TEXT_CURSOR
Устарело. Заменено на Cursor.TEXT_CURSOR.
- См. также:
- Значения константных полей
WAIT_CURSOR
@Deprecated public static final int WAIT_CURSOR
Устарело. Заменено на Cursor.WAIT_CURSOR.
- См. также:
- Значения константных полей
SW_RESIZE_CURSOR
@Deprecated public static final int SW_RESIZE_CURSOR
Устарело. Заменено на Cursor.SW_RESIZE_CURSOR.
- См. также:
- Значения константных полей
SE_RESIZE_CURSOR
@Deprecated public static final int SE_RESIZE_CURSOR
Устарело. Заменено на Cursor.SE_RESIZE_CURSOR.
- См. также:
- Значения константных полей
NW_RESIZE_CURSOR
@Deprecated public static final int NW_RESIZE_CURSOR
Устарело. Заменено на Cursor.NW_RESIZE_CURSOR.
- См. также:
- Значения константных полей
NE_RESIZE_CURSOR
@Deprecated public static final int NE_RESIZE_CURSOR
Устарело. Заменено на Cursor.NE_RESIZE_CURSOR.
- См. также:
- Значения константных полей
N_RESIZE_CURSOR
@Deprecated public static final int N_RESIZE_CURSOR
Устарело. Заменено на Cursor.N_RESIZE_CURSOR.
- См. также:
- Значения константных полей
S_RESIZE_CURSOR
@Deprecated public static final int S_RESIZE_CURSOR
Устарело. Заменено на Cursor.S_RESIZE_CURSOR.
- См. также:
- Значения константных полей
W_RESIZE_CURSOR
@Deprecated public static final int W_RESIZE_CURSOR
Устарело. Заменено на Cursor.W_RESIZE_CURSOR.
- См. также:
- Значения константных полей
E_RESIZE_CURSOR
@Deprecated public static final int E_RESIZE_CURSOR
Устарело. Заменено на Cursor.E_RESIZE_CURSOR.
- См. также:
- Значения константных полей
HAND_CURSOR
@Deprecated public static final int HAND_CURSOR
Устарело. Заменено на Cursor.HAND_CURSOR.
- См. также:
- Значения константных полей
MOVE_CURSOR
@Deprecated public static final int MOVE_CURSOR
Устарело. Заменено на Cursor.MOVE_CURSOR.
- См. также:
- Значения константных полей
НОРМАЛЬНЫЙ
public static final int NORMAL
Фрейм находится в состоянии "нормально". Этот символьный констант задаёт состояние фрейма со сброшенными битами состояния.
МИНИМИЗИРОВАННЫЙ
public static final int ICONIFIED
Этот бит состояния указывает, что фрейм минимизирован.
МАКСИМИЗИРОВАН_ГОРИЗОНТАЛЬНО
public static final int MAXIMIZED_HORIZ
Этот бит состояния указывает, что фрейм максимизирован по горизонтали.
- C тех пор:
- 1.4
- См. также:
-
setExtendedState(int),getExtendedState(), Значения константных полей
МАКСИМИЗИРОВАН_ВЕРТИКАЛЬНО
public static final int MAXIMIZED_VERT
Этот бит состояния указывает, что фрейм максимизирован по вертикали.
- C тех пор:
- 1.4
- См. также:
-
setExtendedState(int),getExtendedState(), Значения константных полей
МАКСИМИЗИРОВАН_ПОЛНОСТЬЮ
public static final int MAXIMIZED_BOTH
Эта маска бита состояния указывает, что фрейм полностью максимизирован (т.е. по горизонтали и вертикали). Это просто псевдоним для MAXIMIZED_VERT | MAXIMIZED_HORIZ.
Обратите внимание, что правильная проверка, является ли фрейм полностью максимизированным, — это
(state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH
Чтобы проверить, максимизирован ли фрейм в каком-либо направлении, используйте
(state & Frame.MAXIMIZED_BOTH) != 0
- C тех пор:
- 1.4
- См. также:
-
setExtendedState(int),getExtendedState(), Значения константных полей
Конструкторы
Frame
public Frame()
throws HeadlessException Создаёт новый экземпляр Frame, который по умолчанию невидим. Заголовок Frame пустой.
- Исключения:
-
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - См. также:
-
GraphicsEnvironment.isHeadless(),Component.setSize(int, int),Component.setVisible(boolean)
Frame
public Frame(GraphicsConfiguration gc)
Создаёт новый, по умолчанию невидимый Frame с указанной GraphicsConfiguration.
- Параметры:
-
gc-GraphicsConfigurationцелевого устройства экрана. Еслиgcявляетсяnull, предполагается системныйGraphicsConfiguration. - Исключения:
-
IllegalArgumentException- еслиgcне принадлежит устройству экрана. -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - C тех пор:
- 1.3
- См. также:
GraphicsEnvironment.isHeadless()
Frame
public Frame(String title)
throws HeadlessException Создаёт новый, по умолчанию невидимый объект Frame с заданным заголовком.
- Параметры:
-
title- заголовок, который будет отображаться в рамке фрейма. Значениеnullобрабатывается как пустая строка, "". - Исключения:
-
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - См. также:
-
GraphicsEnvironment.isHeadless(),Component.setSize(int, int),Component.setVisible(boolean),GraphicsConfiguration.getBounds()
Frame
public Frame(String title,
GraphicsConfiguration gc) Создаёт новый, по умолчанию невидимый объект Frame с указанным заголовком и GraphicsConfiguration.
- Параметры:
-
title- заголовок, который будет отображаться в рамке фрейма. Значениеnullобрабатывается как пустая строка, "". -
gc-GraphicsConfigurationцелевого устройства экрана. Еслиgcявляетсяnull, предполагается системныйGraphicsConfiguration. - Исключения:
-
IllegalArgumentException- еслиgcне принадлежит устройству экрана. -
HeadlessException- когдаGraphicsEnvironment.isHeadless()возвращаетtrue - C тех пор:
- 1.3
- См. также:
-
GraphicsEnvironment.isHeadless(),Component.setSize(int, int),Component.setVisible(boolean),GraphicsConfiguration.getBounds()
Методы
addNotify
public void addNotify()
Делает этот Frame отображаемым, подключив его к ресурсу нативном экране. Делает фрейм отображаемым, что заставит все его дочерние элементы быть отображаемыми. Этот метод вызывается внутри инструментария и не должен вызываться напрямую программами.
- Переопределяет:
-
addNotifyв классеWindow - См. также:
-
Component.isDisplayable(),removeNotify()
getTitle
public String getTitle()
Получает заголовок фрейма. Заголовок отображается в рамке фрейма.
- Возвращает:
- заголовок этого фрейма или пустую строку ("") если у этого фрейма нет заголовка.
- См. также:
setTitle(String)
setTitle
public void setTitle(String title)
Устанавливает заголовок для этого фрейма в указанную строку.
- Параметры:
-
title- заголовок, который будет отображаться в рамке фрейма. Значениеnullобрабатывается как пустая строка, "". - См. также:
getTitle()
getIconImage
public Image getIconImage()
Возвращает изображение, отображаемое в качестве значка для этой рамки.
Этот метод устарел и сохранён только для обратной совместимости. Используйте Window.getIconImages() вместо него.
Если в качестве значка окна было указано несколько изображений, этот метод вернёт первый элемент списка.
- Возвращает:
- изображение значка для этой рамки или
null, если у этой рамки нет изображения значка. - См. также:
-
setIconImage(Image),Window.getIconImages(),Window.setIconImages(java.util.List<? extends java.awt.Image>)
setIconImage
public void setIconImage(Image image)
Устанавливает изображение, отображаемое в качестве значка для этого окна.
Этот метод может быть использован вместо setIconImages(), чтобы указать одно изображение в качестве значка окна.
Следующее утверждение:
setIconImage(image);эквивалентно:
ArrayList<Image> imageList = new ArrayList<Image>();
imageList.add(image);
setIconImages(imageList); Примечание: системы отображения нативных окон могут использовать различные изображения различных размеров для представления окна, в зависимости от контекста (например, украшения окна, списка окон, панели задач и т.д.). Они также могут использовать только одно изображение для всех контекстов или вообще не использовать изображение.
- Переопределяет:
-
setIconImageв классеWindow - Параметры:
-
image- изображение значка, которое должно отображаться. - См. также:
-
Window.setIconImages(java.util.List<? extends java.awt.Image>),Window.getIconImages()
getMenuBar
public MenuBar getMenuBar()
Получает панель меню для этой рамки.
- Возвращает:
- панель меню для этой рамки или
null, если у этой рамки нет панели меню. - См. также:
setMenuBar(MenuBar)
setMenuBar
public void setMenuBar(MenuBar mb)
Устанавливает панель меню для этой рамки на указанную панель меню.
- Параметры:
-
mb- устанавливаемая панель меню. Если этот параметрnull, то любая существующая панель меню в этой рамке удаляется. - См. также:
getMenuBar()
isResizable
public boolean isResizable()
Указывает, может ли пользователь изменять размер этой рамки. По умолчанию все рамки изначально могут быть изменены в размерах.
- Возвращает:
-
true, если пользователь может изменить размер этой рамки;false, в противном случае. - См. также:
setResizable(boolean)
setResizable
public void setResizable(boolean resizable)
Устанавливает, может ли пользователь изменять размер этой рамки.
- Параметры:
-
resizable-true, если эту рамку можно изменять в размерах;false, в противном случае. - См. также:
isResizable()
setState
public void setState(int state)
Устанавливает состояние этой рамки (устарело).
В более ранних версиях JDK состояние рамки могло быть только NORMAL или ICONIFIED. С JDK 1.4 набор поддерживаемых состояний рамок расширен, и состояние рамки представлено как битовая маска.
Для совместимости с приложениями, разработанными ранее, этот метод по-прежнему принимает Frame.NORMAL и Frame.ICONIFIED . Состояние иконки рамки изменяется, другие аспекты состояния рамки не затрагиваются этим методом. Если переданное в этот метод состояние не является ни Frame.NORMAL , ни Frame.ICONIFIED , метод вообще не выполняет никаких действий.
Обратите внимание, что если состояние не поддерживается на данной платформе, ни состояние, ни значение возврата метода getState() не изменятся. Приложение может определить, поддерживается ли конкретное состояние с помощью метода Toolkit.isFrameStateSupported(int).
Если рамка в настоящее время отображается на экране (метод Window.isShowing() возвращает true), разработчик должен проверить значение возврата метода WindowEvent.getNewState() объекта WindowEvent , полученного через WindowStateListener, чтобы убедиться, что состояние фактически изменилось.
Если рамка не отображается на экране, события могут или не могут быть сгенерированы. В этом случае разработчик может предположить, что состояние изменяется сразу после возврата этого метода. Позже, когда вызывается метод setVisible(true) , рамка попытается применить это состояние. Получение любых событий WindowEvent.WINDOW_STATE_CHANGED в этом случае также не гарантируется.
- Параметры:
-
state- либоFrame.NORMAL, либоFrame.ICONIFIED. - См. также:
-
setExtendedState(int),Window.addWindowStateListener(java.awt.event.WindowStateListener)
setExtendedState
public void setExtendedState(int state)
Устанавливает состояние этой рамки. Состояние представлено как битовая маска.
-
NORMAL
Указывает, что ни один бит состояния не установлен. -
ICONIFIED -
MAXIMIZED_HORIZ -
MAXIMIZED_VERT -
MAXIMIZED_BOTH
ОбъединяетMAXIMIZED_HORIZиMAXIMIZED_VERT.
Обратите внимание, что если состояние не поддерживается на данной платформе, ни состояние, ни значение возврата метода getExtendedState() не изменятся. Приложение может определить, поддерживается ли конкретное состояние с помощью метода Toolkit.isFrameStateSupported(int).
Если рамка в настоящее время отображается на экране (метод Window.isShowing() возвращает true), разработчик должен проверить значение возврата метода WindowEvent.getNewState() объекта WindowEvent , полученного через WindowStateListener, чтобы убедиться, что состояние фактически изменилось.
Если рамка не отображается на экране, события могут или не могут быть сгенерированы. В этом случае разработчик может предположить, что состояние изменяется сразу после возврата этого метода. Позже, когда вызывается метод setVisible(true) , рамка попытается применить это состояние. Получение любых событий WindowEvent.WINDOW_STATE_CHANGED в этом случае также не гарантируется.
- Параметры:
-
state- битовая маска констант состояния рамки - С:
- 1.4
- См. также:
Window.addWindowStateListener(java.awt.event.WindowStateListener)
getState
public int getState()
Получает состояние этой рамки (устарело).
В более ранних версиях JDK состояние рамки могло быть только NORMAL или ICONIFIED. С JDK 1.4 набор поддерживаемых состояний рамок расширен, и состояние рамки представлено как битовая маска.
Для совместимости со старыми программами этот метод по-прежнему возвращает Frame.NORMAL и Frame.ICONIFIED , но он сообщает только о состоянии иконки рамки, другие аспекты состояния рамки этим методом не сообщаются.
- Возвращает:
-
Frame.NORMALилиFrame.ICONIFIED. - См. также:
-
setState(int),getExtendedState()
getExtendedState
public int getExtendedState()
Получает состояние этой рамки. Состояние представлено как битовая маска.
-
NORMAL
Указывает, что ни один бит состояния не установлен. -
ICONIFIED -
MAXIMIZED_HORIZ -
MAXIMIZED_VERT -
MAXIMIZED_BOTH
ОбъединяетMAXIMIZED_HORIZиMAXIMIZED_VERT.
- Возвращает:
- битовая маска констант состояния рамки
- С:
- 1.4
- См. также:
setExtendedState(int)
setMaximizedBounds
public void setMaximizedBounds(Rectangle bounds)
Устанавливает максимальные границы для этой рамки.
Когда рамка находится в максимальном состоянии, система предоставляет некоторые значения по умолчанию для границ. Этот метод позволяет переопределить некоторые или все эти значения, предоставленные системой.
Если bounds равно null , используйте границы, предоставленные системой. Если не null , вы можете переопределить некоторые значения, предоставленные системой, сохранив другие, установив нужные поля, которые нужно принять от системы, в Integer.MAX_VALUE.
Обратите внимание, что указанные максимальные границы используются как подсказка для нативной системы, поскольку основная платформа может не поддерживать установку расположения и/или размера максимальных окон. Если это так, предоставленные значения не влияют на внешний вид рамки в максимальном состоянии.
- Параметры:
-
bounds- границы для максимального состояния - С:
- 1.4
- См. также:
getMaximizedBounds()
getMaximizedBounds
public Rectangle getMaximizedBounds()
Получает максимальные границы для этой рамки. Некоторые поля могут содержать Integer.MAX_VALUE , чтобы указать, что для этого поля должны использоваться значения, предоставленные системой.
- Возвращает:
- максимальные границы для этой рамки; может быть
null - С:
- 1.4
- См. также:
setMaximizedBounds(Rectangle)
setUndecorated
public void setUndecorated(boolean undecorated)
Отключает или включает декорации для этой рамки.
Этот метод может быть вызван только в то время, когда рамка не отображается. Чтобы сделать эту рамку декорированной, она должна быть непрозрачной и иметь форму по умолчанию, в противном случае будет выброшено исключение IllegalComponentStateException . Для получения подробностей см. Window.setShape(java.awt.Shape), Window.setOpacity(float) и Window.setBackground(java.awt.Color)
- Параметры:
-
undecorated-trueесли нет необходимости отображать декорации рамки;falseесли декорации рамки должны быть включены - Исключения:
-
IllegalComponentStateException- если рамка отображается -
IllegalComponentStateException- еслиundecoratedравноfalse, и у этой рамки нет стандартной формы -
IllegalComponentStateException- еслиundecoratedравноfalse, а непрозрачность этой рамки меньше1.0f -
IllegalComponentStateException- еслиundecoratedравноfalse, а значение альфа-канала цвета фона этой рамки меньше1.0f - С:
- 1.4
- См. также:
-
isUndecorated(),Component.isDisplayable(),Window.getShape(),Window.getOpacity(),Window.getBackground(),JFrame.setDefaultLookAndFeelDecorated(boolean)
isUndecorated
public boolean isUndecorated()
Указывает, является ли эта рамка без декораций. По умолчанию все рамки изначально имеют декорации.
- Возвращает:
-
trueесли рамка без декораций;falseв противном случае. - С:
- 1.4
- См. также:
setUndecorated(boolean)
setOpacity
public void setOpacity(float opacity)
Устанавливает непрозрачность окна.
Значение непрозрачности находится в диапазоне [0..1]. Обратите внимание, что установка уровня непрозрачности 0 может или не может отключить обработку событий мыши в этом окне. Это зависит от платформы.
Для установки значения непрозрачности меньше 1.0f, должны быть выполнены следующие условия:
- Прозрачность
TRANSLUCENTдолжна поддерживаться подлежащей системой - Окно должно быть без декораций (см.
setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если запрошенное значение непрозрачности меньше 1.0f, и какое-либо из вышеперечисленных условий не выполнено, непрозрачность окна не изменится, и будет выброшено исключение IllegalComponentStateException.
Уровни прозрачности отдельных пикселей также могут быть изменены компонентом альфа цвета (см. Window.setBackground(Color)) и текущей формой этого окна (см. Window.setShape(Shape)).
- Переопределяет:
-
setOpacityв классеWindow - Параметры:
-
opacity- уровень непрозрачности, который необходимо установить для окна - См. также:
-
Window.getOpacity(),Window.setBackground(Color),Window.setShape(Shape),isUndecorated(),Dialog.isUndecorated(),GraphicsDevice.WindowTranslucency,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
setShape
public void setShape(Shape shape)
Устанавливает форму окна.
Установка формы обрезает некоторые части окна. Видимыми и кликабельными остаются только части, относящиеся к заданной Shape. Если аргумент shape равен null, этот метод восстанавливает стандартную форму, делая окно прямоугольным на большинстве платформ.
Для установки непустой формы должны быть выполнены следующие условия:
- Прозрачность
PERPIXEL_TRANSPARENTдолжна поддерживаться подлежащей системой - Окно должно быть без декораций (см.
setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если запрошенная форма не равна null, и какое-либо из вышеперечисленных условий не выполнено, форма этого окна не изменится, и будет выброшено исключение UnsupportedOperationException или IllegalComponentStateException.
Уровни прозрачности отдельных пикселей также могут быть изменены компонентом альфа цвета (см. Window.setBackground(Color)) и значением непрозрачности (см. Window.setOpacity(float)). Дополнительные сведения см. в GraphicsDevice.WindowTranslucency.
- Переопределяет:
-
setShapeв классеWindow - Параметры:
-
shape- форма, которую необходимо установить для окна - См. также:
-
Window.getShape(),Window.setBackground(Color),Window.setOpacity(float),isUndecorated(),Dialog.isUndecorated(),GraphicsDevice.WindowTranslucency,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
setBackground
public void setBackground(Color bgColor)
Устанавливает цвет фона этого окна.
Если система оконного интерфейса поддерживает прозрачность PERPIXEL_TRANSLUCENT, компонент альфа данного цвета фона может повлиять на режим работы этого окна: он указывает, должно ли это окно быть непрозрачным (альфа равно 1.0f) или полупрозрачным на каждый пиксель (альфа меньше 1.0f). Если заданный цвет фона равен null, окно считается полностью непрозрачным.
Для включения режима полупрозрачности на каждый пиксель для этого окна должны быть выполнены следующие условия:
- Прозрачность
PERPIXEL_TRANSLUCENTдолжна поддерживаться графическим устройством, где расположено это окно - Окно должно быть без декораций (см.
setUndecorated(boolean)иDialog.setUndecorated(boolean)) - Окно не должно быть в полноэкранном режиме (см.
GraphicsDevice.setFullScreenWindow(Window))
Если компонент альфа запрошенного цвета фона меньше 1.0f, и какое-либо из вышеперечисленных условий не выполнено, цвет фона этого окна не изменится, компонент альфа заданного цвета фона не повлияет на режим работы окна, и будет выброшено исключение UnsupportedOperationException или IllegalComponentStateException.
Когда окно полупрозрачно на каждый пиксель, подсистема рисования учитывает значение альфа каждого отдельного пикселя. Если пиксель отрисовывается с компонентом альфа равным нулю, он становится визуально прозрачным. Если альфа пикселя равна 1.0f, пиксель полностью непрозрачен. Промежуточные значения компонента альфа делают пиксель полупрозрачным. В этом режиме фон окна отрисовывается со значением альфа заданного цвета фона. Если значение альфа аргумента этого метода равно 0, фон не рисуется вообще.
Фактический уровень прозрачности данного пикселя также зависит от непрозрачности окна (см. Window.setOpacity(float)), а также от текущей формы этого окна (см. Window.setShape(Shape)).
Обратите внимание, что отрисовка пикселя с значением альфа 0 может или не может отключить обработку событий мыши на этом пикселе. Это зависит от платформы. Чтобы убедиться, что события мыши не отправляются на определенный пиксель, пиксель должен быть исключен из формы окна.
Включение режима полупрозрачности на каждый пиксель может изменить конфигурацию графики этого окна из-за требований родной платформы.
- Переопределяет:
-
setBackgroundв классеWindow - Параметры:
-
bgColor- цвет, который должен стать цветом фона этого окна. - См. также:
-
Window.getBackground(),Window.isOpaque(),Window.setOpacity(float),Window.setShape(Shape),isUndecorated(),Dialog.isUndecorated(),GraphicsDevice.WindowTranslucency,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency),GraphicsConfiguration.isTranslucencyCapable()
remove
public void remove(MenuComponent m)
Удаляет заданную панель меню из этой рамки.
- Определено в:
-
removeв интерфейсеMenuContainer - Переопределяет:
-
removeв классеComponent - Параметры:
-
m- компонент меню, который нужно удалить. Еслиmравноnull, никаких действий не выполняется - См. также:
Component.add(PopupMenu)
removeNotify
public void removeNotify()
Делает эту рамку недоступной для отображения, удалив её соединение с родственным ресурсом экрана. Делание рамки недоступной для отображения приведет к тому, что любые её дочерние элементы также станут недоступными. Этот метод вызывается инструментарием внутри и не должен вызываться программами напрямую.
- Переопределяет:
-
removeNotifyв классеWindow - См. также:
-
Component.isDisplayable(),addNotify()
paramString
protected String paramString()
Возвращает строку, представляющую состояние этого Frame. Этот метод предназначен только для отладки, и содержание и формат возвращаемой строки могут различаться в различных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
- Переопределяет:
-
paramStringв классеContainer - Возвращает:
- строку параметров этого фрейма
setCursor
@Deprecated public void setCursor(int cursorType)
Устарело. Начиная с версии JDK 1.1, заменено на Component.setCursor(Cursor).
getCursorType
@Deprecated public int getCursorType()
Устарело. Начиная с версии JDK 1.1, заменено на Component.getCursor().
getFrames
public static Frame[] getFrames()
Возвращает массив всех Frame созданных этим приложением. Если вызывается из апплета, массив включает только доступные этому апплету Frame.
Предупреждение: этот метод может возвращать созданные системой фреймы, такие как общий, скрытый фрейм, используемый Swing. Приложения не должны предполагать существование этих фреймов, ни каких-либо предположений об этих фреймах, таких как позиции компонентов, LayoutManager или сериализация.
Примечание: Для получения списка всех окон без владельца, включая окна без владельца Dialog (введенные в релизе 1.6), используйте Window.getOwnerlessWindows.
- С:
- 1.2
- См. также:
-
Window.getWindows(),Window.getOwnerlessWindows()
getAccessibleContext
public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим Frame. Для фреймов AccessibleContext принимает вид AccessibleAWTFrame. Новый экземпляр AccessibleAWTFrame создается при необходимости.
- Установлено:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеWindow - Возвращает:
- AccessibleAWTFrame, который служит AccessibleContext этого Frame
- С:
- 1.3
© 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.