Java界面容器
来自CloudWiki
容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。
GUI程序界面组成
在GUI程序中,一个窗口就是一个顶层容器,顶层容器包含若干个中间容器,每个中间容器包含若干个基本组件,如下图所示。
- 顶层容器一般是一个顶层窗口
- 中间容器是需要在顶层容器中使用的容器。
常用的容器组件
Swing中常用的容器组件有三个:
- JFrame(框架):顶层容器,主要用来设计应用程序的图像界面。
- JPanel(面板):中间容器,主要用于将较小的轻量级的组件组合在一起。
- 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
运行结果:
全部代码
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程序设计