JFrame 窗口是常用的顶层容器,用来设计类似于 Windows 系统中窗口形式的界面。JFrame 继承了 AWT 的 Frame 类,支持 Swing 体系结构的高级 GUI 属性。
JFrame 类的常用构造方法如下所示。
- JFrame() :构造一个初始时不可见的新窗体。
- JFrame(String title) :创建一个具有 title 指定标题的不可见新窗体。
创建一个 JFrame 类的实例化对象后,其他组件并不能够直接放到容器上面,需要将组件添加至内容窗格,而不是直接添加至 JFrame 对象。示例代码如下:
frame.getContentPane().add(b);
JFrame 类中的常用方法如下:
方法名及返回值类型 | 说明 |
---|---|
getContentPane() | 返回此窗体的 contentPane 对象 |
getDefaultCloseOperation() | 返回用户在此窗体上单击“关闭”按钮时执行的操作 |
setContentPane(Container contentPane) | 设置 contentPane 属性 |
setDefaultCloseOperation(int operation) | 设置用户在此窗体上单击“关闭”按钮时默认执行的操作 |
setDefaultLookAndFeelDecorated (boolean defaultLookAndFeelDecorated) | 设置 |
JFrame 窗口使用的 Windows 外观(如边框、关 闭窗口的 小部件、标题等)
setIconImage(Image image) | 设置要作为此窗口图标显不的图像
setJMenuBar( JMenuBar menubar) | 设置此窗体的菜单栏
setLayout(LayoutManager manager) | 设置 LayoutManager 属性
示例
下面使用 JFrame 类创建一个窗口为例,介绍 JFrame 的语法。具体实现代码如下,继承了 JFrame 类创建的 MyJFrame 类,通过 setTitle() 方法用来设置窗口标题,setDefaultCloseOperation() 方法用来设置响应方式,即当单击“关闭”按钮时退出该程序。
在构造方法中使用 JLabel 类创建一个标签对象 jl,其参数是标签的文本提示信息。JFrame 框架的 getContentPane() 方法获取了内容窗格对象,并使用 add() 方法将标签添加到内容窗格上。
package com.supermap.desktop.samplecode.swing.Frame;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.*;
public class MyJFrame extends JFrame
{
public MyJFrame()
{
setTitle("Java 第一个 GUI 程序"); //设置显示窗口标题
setSize(400,200); //设置窗口显示尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //置窗口是否可以关闭
JLabel jl=new JLabel("这是使用JFrame类创建的窗口"); //创建一个标签
Container c=getContentPane(); //获取当前窗口的内容窗格
c.add(jl); //将标签组件添加到内容窗格上
setVisible(true); //设置窗口是否可见
}
public static void main(String[] agrs)
{
new MyJFrame(); //创建一个实例化对象
}
}
运行的窗口结果如下图所示: