Java 中的 Frame 类

17 Mar 2025 | 4 分钟阅读

带边框和标题的顶层窗口称为 Frame 类。作为默认的布局管理器,它使用 BorderLayout。Frame 组件是 Windows 图形系统的一部分,就像典型的 GUI 窗口一样,它包含边框和标题栏。默认对齐的组件被添加到 Java.awt.BorderLayout 中。

Frame 的字段

字段描述
static float BOTTOM_ALIGNMENT用于 getAlignment Y 的方便常量
static int CROSSHAIR_CURSOR冗余。由 Cursor.CROSSHAIR_CURSOR 修改
static int DEFAULT_CURSOR冗余。由 Cursor.DEFAULT_CURSOR 修改。
static int HAND_CURSOR冗余。由 Cursor.HAND_CURSOR 修改。
static int E_RESIZE_CURSOR冗余。由 Cursor.E_RESIZE_CURSOR 修改。
static int MOVE_CURSOR冗余。由 Cursor.MOVE_CURSOR 修改。
static int MAXIMIZED_HORIZ此状态位表示窗口最大化的水平方向。
static int MAXIMIZED_VERT此状态位表示窗口最大化的垂直方向。
static int MAXIMIZED_BOTH此状态位掩码表示窗口已完全最大化(水平和垂直)。
static int ICONIFIED此状态位表示窗口已被最小化。
static int N_RESIZE_CURSOR冗余。由 Cursor.N_RESIZE_CURSOR 修改。
static int NE_RESIZE_CURSOR冗余。由 Cursor.NE_RESIZE_CURSOR 修改。
static int 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 WAIT_CURSOR冗余。由 Cursor.WAIT_CURSOR 修改。

类构造函数

构造函数描述
Frame()创建一个新的、初始不可见的 Frame 实例。
Frame(GraphicsConfiguration gc)使用给定的 GraphicsConfiguration 创建一个新 Frame,该 Frame 初始不可见。
Frame(String title)使用给定的标题创建一个新的 Frame 对象,该对象初始不可见。
Frame(String title, GraphicsConfiguration gc)使用给定的标题和 GraphicsConfiguration 创建一个新的 Frame 对象,该对象初始不可见。

类方法

方法描述
void addNotify()将此 Frame 连接到本机屏幕资源,使其可显示。
AccessibleContext getAccessibleContext()获取与此特定 Frame 相关联的 AccessibleContext。
static Frame[] getFrames()返回一个包含此应用程序创建的所有 Frame 的数组。
int getExtendedState()获取此 Frame 的状态。
int getCursorType()冗余。自 JDK 1.1 版本以来,Component 已取代其位置。obtainCursor()。
Image getIconImage()返回将用作此 Frame 图标的图像。
String getTitle()获取 Frame 的标题。
int getState()获取此 Frame 的状态(已废弃)。
MenuBar getMenuBar()获取 Frame 的菜单栏。
Rectangle getMaximizedBounds()获取 Frame 的最大化边界。
boolean isResizable()显示用户是否可以调整此 Frame 的大小。
void removeNotify()断开此 Frame 与其本机屏幕资源的连接,使其不可显示。
void remove(MenuComponent m)从此 Frame 中移除给定的菜单栏。
protected String paramString()返回一个描述此 Frame 当前状态的字符串。
boolean isUndecorated()指示此 Frame 是否有任何装饰。
void setCursor(int cursorType)冗余。自 JDK 1.1 以来,Component.setCursor(Cursor) 已取代其位置。
void setMenuBar(MenuBar mb)将给定的菜单栏设置为 Frame 的菜单栏。
void setMaximizedBounds(Rectangle bounds)确定 Frame 的最大化边界。
void setIconImage(Image image)设置将作为此窗口图标显示的图像。
void setExtendedState(int state)设置此 Frame 的状态。
void setResizable(boolean resizable)确定用户是否可以调整此 Frame 的大小。
void setUndecorated(boolean undecorated)打开或关闭 Frame 的装饰。
void setTitle(String title)将给定的字符串设置为此 Frame 的标题。
void setState(int state)设置此 Frame 的状态(已废弃)。

继承的方法

继承的方法描述
java.awt.Window没有菜单栏或边框的顶层窗口称为 Window 对象。BorderLayout 是窗口的默认布局。
java.awt.Container能够容纳其他 AWT 组件的组件被称为通用抽象窗口工具包 (AWT) 容器对象。
java.awt.Component具有图形表示形式、可以与用户交互并在屏幕上显示的实体称为组件。
java.lang.Object类层次结构的基类是 Class Object。Object 是所有类的超类。此类的所有方法,包括数组,都由此类实现。

算法

为了使窗口显示在屏幕上,通常会按照这些步骤来处理 Frame 对象。

步骤 1:构造一个 Frame 类型的对象。

步骤 2:使用 setSize() 函数为 Frame 对象指定大小。

步骤 3:使用 setVisible() 方法使 Frame 对象出现在屏幕上。

步骤 4:您必须输入窗口关闭事件的代码,然后才能单击关闭(X)按钮来关闭窗口。

实施

文件名: FrameAwtContainer.java

输出

Frame Class in Java