窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有以下三种窗口:
用Swing中的JFrame类或它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
JFrame类的其他常用方法:
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。 其他容器添加组件有两种方法:
【例 11-1】一个用JFrame类创建窗口的Java应用程序。窗口只有一个按钮。
- Applet窗口:Applet类管理这个窗口,当应用程序程序启动时,由系统创建和处理;
- 框架窗口(JFrame):这是通常意义上的窗口,它支持窗口周边的框架、标题栏,以及最小化、最大化和关闭按钮;
- 一种无边框窗口(JWindow):没有标题栏,没有框架,只是一个空的矩形。
用Swing中的JFrame类或它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
- JFrame():创建无标题的窗口对象;
- JFrame(String s):创建一个标题名是字符串s的窗口对象。
JFrame类的其他常用方法:
- setBounds(int x,int y,int width,int height):参数x,y指定窗口出现在屏幕的位置;参数width,height指定窗口的宽度和高度。单位是像素。
- setSize(int width,int height):设置窗口的大小,参数width和height指定窗口的宽度和高度,单位是像素。
- setBackground(Color c):以参数 c设置窗口的背景颜色。
- setVisible(boolean b):参数b设置窗口是可见或不可见。JFrame默认是不可见的。
- pack():用紧凑方式显示窗口。如果不使用该方法,窗口初始出现时可能看不到窗口中的组件,当用户调整窗口的大小时,可能才能看到这些组件。
- setTitle(String name):以参数name设置窗口的名字。
- getTitle():获取窗口的名字。
- setResiable(boolean m):设置当前窗口是否可调整大小(默认可调整大小)。
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。 其他容器添加组件有两种方法:
- 一种是用getContentPane()方法获得内容面板,再将组件加入。例如,例5.1程序中的代码:
mw.getContentPane().add(button);
该代码的意义是获得容器的内容面板,并将按钮button添加到这个内容面板中。 - 另一种是建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把这个容器置为内容面板。例如,代码:
JPanel contentPane = new JPanel();
…
mw.setContentPane(contentPane);
以上代码把contentPane置成内容面板。
【例 11-1】一个用JFrame类创建窗口的Java应用程序。窗口只有一个按钮。