Java界面容器

来自CloudWiki
跳转至: 导航搜索

容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。

GUI程序界面组成

在GUI程序中,一个窗口就是一个顶层容器,顶层容器包含若干个中间容器,每个中间容器包含若干个基本组件,如下图所示。

Java8-4.png

  • 顶层容器一般是一个顶层窗口
  • 中间容器是需要在顶层容器中使用的容器。

常用的容器组件

Swing中常用的容器组件有三个:

  1. JFrame(框架):顶层容器,主要用来设计应用程序的图像界面。
  2. JPanel(面板):中间容器,主要用于将较小的轻量级的组件组合在一起。
  3. JScrollPane(具有滚动条的面板):中间容器,主要用来管理视区、滚动条及可选的行和列的标题视区。

JFrame

JFrame是Window的子类,由JFrame或其子类创建的对象是一个窗体。

构造方法

JFrame的构造方法有两个:

  • JFrame() 创建无标题窗口。
  • JFrame(String s) 创建标题名字是字符串s的窗口。

例如:JFrame f = new JFrame(“Hello”);

常用方法

  • setTitle(String title) 设置JFrame标题文本
  • get/ setSize():获取/设置JFrame的大小。
  • getContentPane():获取系统默认容器
  • add(Object a):将组件添加到JFrame中。
  • dispose()关闭JFrame并回收用于创建窗口的任何资源。
  • setVisible(boolean b)设置JFrame的可见性。
  • setLocation(x,y) 设置JFrame在屏幕的位置
  • void setDefaultCloseOperation(int);设置默认的关闭时的操作,取值: HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, EXIT_ON_CLOSE

创建JFrame

JFrame类的用法有两种:一种是直接创建其对象并使用。

方法一

下面程序演示了通过创建JFrame对象方式,创建一个窗口。

import java.awt.*;
import javax.swing.*;
public class TestForm{
	public static void main(String[] args) {
		JFrame userInfo= new JFrame();
		userInfo.setTitle("电商购物平台——用户信息");//设置标题
		userInfo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作
		userInfo.setResizable(false);//窗口大小不能改变
		userInfo.setSize(300,100);//设置窗口大小
		userInfo.setVisible(true);//设置窗口可见性
	}
}

程序运行结果如下图所示:

方法二

另一种方法是继承JFrame类,创建其子类,然后再创建并使用其子类的对象。下面程序实现了与上面程序同样的效果。

import java.awt.*;
import javax.swing.*;
public class UserInfo extends JFrame{
	public UserInfo() {
		super("电商购物平台-用户信息");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作
		setResizable(false);//窗口大小不能改变
		setSize(300,100);//设置窗口大小
		setVisible(true);//设置窗口可见性
	}
	public static void main(String[] args) {
		UserInfo userInfo=new UserInfo();
	}
}

右击java文件 ,run as -> java application

运行结果:

Java10-1.png

全部代码

import java.awt.*;
import javax.swing.*;
public class UserInfo extends JFrame{
	public UserInfo() {
		super("电商购物平台-用户信息");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作
		setResizable(false);//窗口大小不能改变
		setSize(300,100);//设置窗口大小
		setVisible(true);//设置窗口可见性
	}
	public static void main(String[] args) {
		UserInfo userInfo=new UserInfo();
	}
}

返回 Java程序设计