02.JavaSwing(顶层容器——JFrame类)
JFrame:用于框架窗口的类,此窗口带有边框、标题、关闭和最小化窗口的图标。带 GUI 的应用程序至少使用一个框架窗口。
创建图形用户界面程序的第一步是创建一个容器类以容纳其他组件,常见的窗口就是一种容器。容器本身也是一种组件,它的作用就是用来组织、管理和显示其他组件。
一、顶层容器概述
顶层容器是进行图形编程的基础,一切图形化的东西都必须包括在顶层容器中。顶层容器是任何图形界面程序都要涉及的主窗口,是显示并承载组件的容器组件。
在 Swing 中有三种可以使用的顶层容器,分别是 JFrame、JDialog 和 JApplet。
JFrame:用于框架窗口的类,此窗口带有边框、标题、关闭和最小化窗口的图标。带 GUI 的应用程序至少使用一个框架窗口。【重点】
JDialog:用于对话框的类。【了解】
JApplet:用于使用 Swing 组件的 Java Applet 类。【不涉及】
二、JFrame类概述
JFrame:一个窗口,通常包含有标题、图标、操作按钮(关闭、最小化、最大化),还可以为窗口添加菜单栏、工具栏等。一个进程中可以创建多个窗口,并可在适当时候进行显示、隐藏 或 销毁。
-
JFrame是一个顶层的框架类,好比一个窗户的框子。也是一个容器类。这个框子可以嵌入几个玻璃窗。
JFrame类中常用的方法
JFrame() 创建一个窗体对象(构造方法)
void setSize(int width,int height) 设置窗体大小
void setVisible(true/false) 显示或隐藏组件
void setTitle(String title)设置窗体的标题
void setDefaultCloseOperation(int operation)设置窗口关闭按钮点击后的默认操作
参考值
JFrame.DO_NOTHING_ON_CLOSE 常量值:0,不执行任何操作
JFrame.HIDE_ON_CLOSE 常量值:1,隐藏窗口(不会结束进程)。再次调用setVisible(true)将再次显示。
JFrame.DISPOSE_ON_CLOSE 常量值:2,销毁窗口,如果所有可显示的窗口都被DISPOSE,则可能会自动结束进程。
JFrame.EXIT_ON_CLOSE 常量值:3,退出进程
void setLocationRelativeTo(null) 设置窗口居中显示
三、使用JFrame类创建一个窗体
3.1 主程序入口中直接创建窗体
package com.test;
import javax.swing.JFrame;
public class Test {
public static void main(String[] args) {
// 实例化一个JFrame窗体
JFrame jFrame = new JFrame();
jFrame.setTitle("标题");// 设置窗体标题
jFrame.setSize(300, 300);// 设置窗体大小
jFrame.setDefaultCloseOperation(3);// 设置窗窗体关闭模式
jFrame.setLocationRelativeTo(null);// 设置窗体居中
jFrame.setVisible(true);// 设置窗体可见
}
}
【注意】直接将实现窗体的代码放置主程序入口中不便于后期扩展及维护,而使用自定义类实现窗口就可以解决这些问题。
3.2 自定义实现创建窗体
流程:
在Java项目指定的包中自定义一个类继承JFrame
在自定义类中编写该类的无参数构造函数
在构造函数内调用设置相关属性的方法
测试类中实例化自定义类的对象即可将窗体显示出来
package com.zking.ui;
import javax.swing.JFrame;
//1.在Java项目指定的包中自定义一个类继承JFrame
public class HelloWorld extends JFrame {
// 2.在自定义类中编写该类的无参数构造函数
public HelloWorld() {
// 3.在构造函数内调用设置相关属性的方法
this.setTitle("第一个JFrame窗体");// 设置窗体的标题
this.setSize(300, 300);// 设置窗体的宽和高
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体的默认关闭模式
this.setLocationRelativeTo(null);// 设置窗体在屏幕上居中显示
this.setVisible(true);// 设置窗体可见
}
}
package com.zking.ui;
public class Test {
public static void main(String[] args) {
// 4.测试类中实例化自定义类的对象即可将窗体显示出来
HelloWorld hw = new HelloWorld();
}
}
效果图:
更多推荐
所有评论(0)