在 Swing 组件中,最常见的一个就是 JFrame,它和 Frame 一样是一个独立存在的顶级窗口,不能放置在其他窗口之中,JFrame 支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等。接下来通过一个案例来演示一下 JFrame 的效果,如下所示。

    1. import java.awt.FlowLayout;
    2. import javax.swing.JButton;
    3. import javax.swing.JFrame;
    4. public class example15 extends JFrame{
    5. public example15() {
    6. this.setTitle("JFrameTest");
    7. this.setSize(250, 300);
    8. //定义一个按钮组件
    9. JButton bt = new JButton("按钮");
    10. //设置流式布局管理器
    11. this.setLayout(new FlowLayout());
    12. //添加按钮组件
    13. this.add(bt);
    14. //设置单击关闭按钮时的默认操作
    15. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    16. this.setVisible(true);
    17. }
    18. public static void main(String[] args) {
    19. new example15();
    20. }
    21. }

    运行程序,生成的窗口如下图所示。
    QQ截图20200621201615.png

    上述代码块中,通过 JFrame 类创建了一个窗体,并向该窗体中添加了一个按钮。从上图可以看出 JFrame 与 Frame 窗体的效果大致相同,但还是有一些区别的。JFrame 类和 Frame 类最大的区别在于,JFrame 类**提供**了关闭窗口的功能,在程序中不需要添加窗体监听器,只需调用 setDefaultOperation()方法,然后将常量 JFrame.EXIT_ON_CLOSE 作为参数传入即可,该参数表示单击窗口关闭按钮时退出程序。