|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 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
是带有标题和边界的顶层窗口。
frame 的大小包括边界指定的所有区域。边界区域的尺寸可以使用 getInsets
方法获得,但是,由于这些尺寸是与平台相关的,因此在通过调用 pack
或 show
将 frame 设置为可显示的之前,无法获得有效的 insets 值。由于 frame 的总大小包括了边界区,因此边界有效地模糊了 frame 的部分区域,约束了可用于在矩形中呈现和/或显示子部件的区域,矩形左上角的位置为 (insets.left, insets.top)
,宽度为 width - (insets.left + insets.right)
,长度为 height - (insets.top + insets.bottom)
。
frame 的默认布局为 BorderLayout
。
使用 setUndecorated
,frame 可以关闭本机装饰(例如 Frame
和 Titlebar
)。只有在 frame 不是 displayable
时才能完成此操作。
在多屏幕环境中,通过使用 Frame(GraphicsConfiguration)
或 Frame(String title, GraphicsConfiguration)
构造 Frame
,可以在不同的屏幕设备上创建 Frame
。GraphicsConfiguration
对象是目标屏幕设备的 GraphicsConfiguration
对象之一。
在虚拟设备多屏幕环境中(其中桌面区域可以跨越多物理屏幕设备),所有配置的边界都是相对于虚拟坐标系统的。虚拟坐标系统的原点位于主物理屏幕的左上角。是否使用负坐标,取决于主物理屏幕在虚拟设备中的位置,如下图所示。
在此环境中,调用 setLocation
时,必须传递一个虚拟坐标到此方法中。类似地,对 Frame
调用 getLocationOnScreen
将返回虚拟设备坐标。调用 GraphicsConfiguration
的 getBounds
方法,以查找它在虚拟坐标系统中的原点。
以下代码将 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);
Frame 能够产生以下类型的 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 此类实现对 Frame 类的可访问性支持。 |
从类 java.awt.Window 继承的嵌套类/接口 |
---|
Window.AccessibleAWTWindow |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
static int |
CROSSHAIR_CURSOR 已过时。 由 Cursor.CROSSHAIR_CURSOR 取代。 |
static int |
DEFAULT_CURSOR 已过时。 由 Cursor.DEFAULT_CURSOR 取代。 |
static int |
E_RESIZE_CURSOR 已过时。 由 Cursor.E_RESIZE_CURSOR 取代。 |
static int |
HAND_CURSOR 已过时。 由 Cursor.HAND_CURSOR 取代。 |
static int |
ICONIFIED 此状态位指示将 frame 图标化。 |
static int |
MAXIMIZED_BOTH 此状态位掩码指示将 frame 完全最大化(水平和垂直方向)。 |
static int |
MAXIMIZED_HORIZ 此状态位指示在水平方向将 frame 最大化。 |
static int |
MAXIMIZED_VERT 此状态位指示在垂直方向将 frame 最大化。 |
static int |
MOVE_CURSOR 已过时。 由 Cursor.MOVE_CURSOR 取代。 |
static int |
N_RESIZE_CURSOR 已过时。 由 Cursor.N_RESIZE_CURSOR 取代。 |
static int |
NE_RESIZE_CURSOR 已过时。 由 Cursor.NE_RESIZE_CURSOR 取代。 |
static int |
NORMAL Frame 处于 "normal" 状态。 |
static int |
NW_RESIZE_CURSOR 已过时。 由 Cursor.NW_RESIZE_CURSOR 取代。 |
static int |
S_RESIZE_CURSOR 已过时。 由 Cursor.S_RESIZE_CURSOR 取代。 |
static int |
SE_RESIZE_CURSOR 已过时。 由 Cursor.SE_RESIZE_CURSOR 取代。 |
static int |
SW_RESIZE_CURSOR 已过时。 由 Cursor.SW_RESIZE_CURSOR 取代。 |
static int |
TEXT_CURSOR 已过时。 由 Cursor.TEXT_CURSOR 取代。 |
static int |
W_RESIZE_CURSOR 已过时。 由 Cursor.W_RESIZE_CURSOR 取代。 |
static int |
WAIT_CURSOR 已过时。 由 Cursor.WAIT_CURSOR 取代。 |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
Frame() 构造 Frame 的一个新实例(初始时不可见)。 |
|
Frame(GraphicsConfiguration gc) 使用屏幕设备的指定 GraphicsConfiguration 创建一个 Frame 。 |
|
Frame(String title) 构造一个新的、初始不可见的、具有指定标题的 Frame 对象。 |
|
Frame(String title, GraphicsConfiguration gc) 构造一个新的、初始不可见的、具有指定标题和 GraphicsConfiguration 的 Frame 对象。 |
方法摘要 | |
---|---|
void |
addNotify() 通过将此 Frame 连接到本机屏幕资源,从而使其成为可显示的。 |
protected void |
finalize() 移除输入方法和上下文,并从 AppContext 中移除此 Frame。 |
AccessibleContext |
getAccessibleContext() 获取与此 Frame 有关的 AccessibleContext。 |
int |
getCursorType() 已过时。 从 JDK version 1.1 开始,由 Component.getCursor() 取代。 |
int |
getExtendedState() 获取此 frame 的状态。 |
static Frame[] |
getFrames() 返回一个数组,包含由应用程序创建的所有 Frame。 |
Image |
getIconImage() 获取此 frame 显示在最小化图标中的图像。 |
Rectangle |
getMaximizedBounds() 获取此 frame 的最大化边界。 |
MenuBar |
getMenuBar() 获取此 frame 的菜单栏。 |
int |
getState() 获取此 frame 的状态(已废弃)。 |
String |
getTitle() 获得 frame 的标题。 |
boolean |
isResizable() 指示此 frame 是否可由用户调整大小。 |
boolean |
isUndecorated() 指示此 frame 是否未装饰。 |
protected String |
paramString() 返回表示此 Frame 状态的字符串。 |
void |
remove(MenuComponent m) 从此 frame 移除指定的菜单栏。 |
void |
removeNotify() 通过移除与本机屏幕资源的连接,将此 Frame 设置为不可显示的。 |
void |
setCursor(int cursorType) 已过时。 从 JDK version 1.1 开始,由 Component.setCursor(Cursor) 取代。 |
void |
setExtendedState(int state) 设置此 frame 的状态。 |
void |
setIconImage(Image image) 设置此 frame 要显示在最小化图标中的图像。 |
void |
setMaximizedBounds(Rectangle bounds) 设置此 frame 的最大化边界。 |
void |
setMenuBar(MenuBar mb) 将此 frame 的菜单栏设置为指定的菜单栏。 |
void |
setResizable(boolean resizable) 设置此 frame 是否可由用户调整大小。 |
void |
setState(int state) 设置此 frame 的状态(已废弃)。 |
void |
setTitle(String title) 将此 frame 的标题设置为指定的字符串。 |
void |
setUndecorated(boolean undecorated) 禁用或启用此 frame 的装饰。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, 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
取代。- 另请参见:
- 常量字段值