在 Swing 组件中,最常见的一个就是 JFrame,它和 Frame 一样是一个独立存在的顶级窗口,不能放置在其他窗口之中,JFrame 支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等。接下来通过一个案例来演示一下 JFrame 的效果,如下所示。
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class example15 extends JFrame{
public example15() {
this.setTitle("JFrameTest");
this.setSize(250, 300);
//定义一个按钮组件
JButton bt = new JButton("按钮");
//设置流式布局管理器
this.setLayout(new FlowLayout());
//添加按钮组件
this.add(bt);
//设置单击关闭按钮时的默认操作
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new example15();
}
}
运行程序,生成的窗口如下图所示。
上述代码块中,通过 JFrame 类创建了一个窗体,并向该窗体中添加了一个按钮。从上图可以看出 JFrame 与 Frame 窗体的效果大致相同,但还是有一些区别的。JFrame 类和 Frame 类最大的区别在于,JFrame 类**提供**了关闭窗口的功能,在程序中不需要添加窗体监听器,只需调用 setDefaultOperation()方法,然后将常量 JFrame.EXIT_ON_CLOSE 作为参数传入即可,该参数表示单击窗口关闭按钮时退出程序。