目录
前言
GUI应用程序
创建GUI应用程序的步骤
GUI组件
GUI容器
Java GUI支持的开发包
Swing
Swing顶层容器
容器层
JFrame类(主窗口框架)
创建窗体
窗口的设置
窗口关闭事件
最后
图形用户界面简称GUI,通过GUI用户可以更好地与计算机进行交互。从JDK1.2版本后Java就引入了javax.swing,实现了图形界面的跨平台。Swing工具包提供了一系列丰富的GUI组件:表控件、列表控件、树控件、按钮和标签等,用来构造图形界面的应用程序,大大增加了程序的可交互性。JFrame类是最重要的顶层容器,是带有标题、边界、窗口状态调节按钮,放置其他Swing组件的顶层容器,它是构建GUI的主窗口。好了,我们开始学习Java图形用户界面——GUI设计、Swing类和JFrame类创建图形界面窗体。
Java图形用户界面最基本的组成部分,是以图形化的方法显示在屏幕上并能够与用户进行交互的对象,如按钮、标签、文本框等。
注意:组件不能独立地显示,必须将其放在一定的容器中。
是一种能够容纳其他组件或容器的组件。Java容器可以分为两类:顶层容器组件和普通容器组件。
顶层容器组件:
普通容器组件:也叫中间层容器,可以作为容纳其他组件的容器,但是不能独立存在,如JPanel(面板)、JScrollPane(滚动面板)。
AWT开发包
Swing开发包
注意:Swing开发包并没有取代AWT开发包。
Swing是一个用于开发Java应用程序用户界面的开发工具包,它以抽象窗口工具包(AWT)为基础,使跨平台应用程序可以使用任何可插拔的外观风格。
Swing特点有:包含丰富的组件、程序外观支持、可数据传递、易访问性API、部署支持灵活。
Swing提供了3个顶层容器类:JFrame、JDialog和JApplet。
使用顶层容器类时,要注意:
Swing中还有一个名为JInetrnalFrame的内部窗体,它模仿JFrame,但实际上内部窗体并不是真正的顶层容器。
每一个使用Swing组件的程序都至少有一个顶层容器。这个顶层容器是容器层级的根,而容器层级包含所有出现在顶层容器中的Swing组件。
基于Swing的GUI应用程序,至少要有一个带有JFrame作为其根的容器层级。
构造方法:
方法:
注意:要设置窗口背景色,必须先调用getContentPane()方法,例如:Container c=this.getContentPane();获得内容面板,在调用setBackground(Color c)方法。
例如:
import java.awt.*; //添加java.awt开发包
import javax.swing.JFrame; //添加java.swing.JFrame类
public class myfirst {
public static void main(String[] args) {
JFrame frame=new JFrame("这是我的第一个窗体"); //创建JFrame实例
Container c=frame.getContentPane(); //调用getContentPane方法
c.setBackground(Color.BLUE); //调用setBackground方法将窗口背景颜色改为蓝色
frame.setVisible(true); //使创建的窗口可见
frame.setSize(400,300); //设置窗口宽为400像素,高为300像素
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口关闭时,退出程序
//frame.pack(); //使用框架的大小正好显示出所有组件
}
}
运行结果为:
默认情况下,窗口设置有本地窗口系统提供,不过,可以请求程序外观(look-and-feel)为窗体提供设置;如果希望窗口显示自定义图标并带有指定程序外观提供的窗口设置,那么需要在程序中添加如下代码:
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame=new JFrame("新的窗口");
frame.setIconImage(new ImageIcon(imgURL).getImage());
注意:
在默认情况下,用户关闭一个窗体时,窗体只是被隐藏了,并没有关闭程序。我们可以注册一个窗口监听器来处理窗口关闭事件,或者使用setDefaultCloseOperation()方法指定默认的关闭行为。
注意,setDefaultCloseOperation()方法的参数必须是下面常量值中的一个:
好了,有关Java图形用户界面——GUI设计、Swing类和JFrame类创建图形界面窗体学到这里了,谢谢观看!!!
我们下篇文章再见!!!
成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。