Java JFrame

2024年10月24日 | 阅读时长:5 分钟

javax.swing.JFrame 类是一种容器,它继承自 java.awt.Frame 类。JFrame 就像主窗口,可以添加标签、按钮、文本框等组件来创建 GUI。

与 Frame 不同,JFrame 提供了使用 setDefaultCloseOperation(int) 方法隐藏或关闭窗口的选项。

它充当主窗口,用于放置其他元素以构建 GUI 布局,例如按钮、标签和文本字段。使用 setDefaultCloseOperation(int) 函数可以快速隐藏或关闭窗口的功能,为 JFrame 用户提供了更多关于程序行为以及如何与之交互的灵活性。此功能使 JFrame 与 Frame 区分开来。由于其适应性,JFrame 是为交互式 Java 应用程序创建复杂图形用户界面的灵活选择。

Java 应用程序中 JFrame 的优点

  1. 开发桌面应用程序:在开发桌面 Java 应用程序时,JFrame 是一个流行的工具。它提供了一个窗口框架,可以轻松设计和维护图形用户界面(GUI)。
  2. 图形用户界面 (GUI):为了构建交互式用户界面,将各种 GUI 组件(如按钮、标签、文本字段和面板)添加到主窗口或框架中,这个主窗口或框架称为 JFrame。
  3. 应用程序窗口:使用 JFrame 创建的应用程序窗口显示菜单、工具栏、状态栏以及用户交互所需的其他控件。
  4. 对话框和弹出窗口:为了显示警报、消息、警告或请求用户输入,JFrame 可用于创建对话框、消息框和弹出窗口。
  5. 数据可视化:JFrame 可用于显示各种类型的数据可视化,例如图表、图形、绘图和示意图,为用户提供数据的视觉洞察。

嵌套类

修饰符和类型Class描述
受保护的类JFrame.AccessibleJFrame此类为 JFrame 类实现了可访问性支持。

字段

修饰符和类型字段描述
protected AccessibleContextaccessibleContext可访问上下文属性。
static intEXIT_ON_CLOSE退出应用程序的默认窗口关闭操作。
protected JRootPanerootPane管理此框架的内容窗格和可选菜单栏以及玻璃窗格的 JRootPane 实例。
protected booleanrootPaneCheckingEnabled如果为 true,则对 add 和 setLayout 的调用将转发到 contentPane。

构造函数

构造函数描述
JFrame()它构造了一个新的、最初不可见的框架。
JFrame(GraphicsConfiguration gc)它在屏幕设备的指定 GraphicsConfiguration 中创建一个框架,并带有空的标题。
JFrame(String title)它构造了一个新的、最初不可见的、带有指定标题的框架。
JFrame(String title, GraphicsConfiguration gc)它使用指定的标题和屏幕设备的指定 GraphicsConfiguration 创建一个 JFrame。
JFrame(Frame owner)构造了一个新的、最初不可见的、带有指定所有者 Frame 的框架。
JFrame(String title, Frame owner)构造了一个新的、最初不可见的、带有指定标题和所有者 Frame 的框架。
JFrame(String title, boolean resizable)构造了一个新的、最初不可见的、带有指定标题和可调整大小行为的框架。
JFrame(String title, boolean resizable, boolean closeable)构造了一个新的、最初不可见的、带有指定标题、可调整大小行为和可关闭行为的框架。
JFrame(String title, boolean resizable, boolean closeable, boolean maximizable)构造了一个新的、最初不可见的、带有指定标题、可调整大小行为、可关闭行为和可最大化行为的框架。
JFrame(String title, boolean resizable, boolean closeable, boolean maximizable, boolean iconifiable)构造了一个新的、最初不可见的、带有指定标题、可调整大小行为、可关闭行为、可最大化行为和可图标化行为的框架。

有用的方法

修饰符和类型方法描述
受保护的 voidaddImpl(Component comp, Object constraints, int index)添加指定的子组件。
protected JRootPanecreateRootPane()由构造方法调用以创建默认的 rootPane。
受保护的 voidframeInit()由构造方法调用以正确初始化 JFrame。
voidsetContentPane(Containe contentPane)它设置 contentPane 属性。
static voidsetDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)提供了一个提示,说明新创建的 JFrame 是否应该由当前外观提供其窗口装饰(如边框、关闭窗口的小部件、标题……)。
voidsetIconImage(Image image)它设置要显示为窗口图标的图像。
voidsetJMenuBar(JMenuBar menubar)它设置此框架的菜单栏。
voidsetLayeredPane(JLayeredPane layeredPane)它设置 layeredPane 属性。
JRootPanegetRootPane()它返回此框架的 rootPane 对象。
TransferHandlergetTransferHandler()它获取 transferHandler 属性。
voidsetDefaultCloseOperation(int operation)设置 JFrame 的默认关闭操作,确定当用户尝试使用其“关闭”按钮或键盘快捷方式关闭窗口时会发生什么。
voidsetExtendedState(int state)设置框架的扩展状态,例如 MAXIMIZED_BOTH 表示全屏模式,或 ICONIFIED 表示图标化(最小化)状态。
voidsetResizable(boolean resizable)设置 JFrame 是否可由用户调整大小。
voidsetTitle(String title)设置 JFrame 的标题。
voidsetVisible(boolean b)设置 JFrame 的可见性。
voidsetSize(int width, int height)将 JFrame 的大小设置为指定的宽度和高度。
voidsetLocationRelativeTo(Component c)将 JFrame 的位置设置在指定组件的相对位置。
voidpack()调整 JFrame 的大小以适应其首选大小及其组件的首选大小。
容器getContentPane()返回 JFrame 的 contentPane,它是应用程序 GUI 组件被添加到的容器。
voiddispose()释放此 JFrame、其子组件以及所有其拥有窗口使用的所有本地屏幕资源。

JFrame 示例

文件名:JFrameExample.java

输出

Java Jframe

说明

提供的 Java 代码是使用 Swing 组件创建图形用户界面 (GUI) 的示例。首先,初始化一个名为“JFrame Example”的 JFrame 和一个用于托管组件的 JPanel。使用 FlowLayout 管理器来自定义 JPanel,确保组件从左到右排列。在此面板中,添加了一个标签为“Button”的 JButton 和一个文本为“JFrame By Example”的 JLabel。

然后,JFrame 使用这些元素进行更新。JFrame 位于屏幕中央,尺寸为 200 像素宽、300 像素高。此外,当关闭框架时,应用程序默认设置为终止。最后,框架显示出来,允许用户看到 GUI。

结论

本文最后对 Java JFrame 类进行了全面审查,该类对于在 Java 应用程序中开发图形用户界面 (GUI) 至关重要。它描述了 JFrame 如何继承自 Java.awt.Frame 类,并强调了它的一些独特功能,如用于隐藏或关闭窗口的 setDefaultCloseOperation(int) 函数。文章还通过涵盖构造方法、字段、嵌套类和有用方法,对 JFrame 类的特性和功能进行了全面解释。


下一主题Java JComponent