Java界面容器

来自CloudWiki
Cloud17讨论 | 贡献2018年5月19日 (六) 06:22的版本
跳转至: 导航搜索

容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。 1.GUI程序界面组成 在GUI程序中,一个窗口就是一个顶层容器,顶层容器包含若干个中间容器,每个中间容器包含若干个基本组件,如下图所示。

顶层容器一般是一个顶层窗口,有以下三种: 中间容器是需要在顶层容器中使用的容器。 2.常用的容器组件。 Swing中常用的容器组件有三个: JFrame(框架):顶层容器,主要用来设计应用程序的图像界面。 JPanel(面板):中间容器,主要用于将较小的轻量级的组件组合在一起。 JScrollPane(具有滚动条的面板):中间容器,主要用来管理视区、滚动条及可选的行和列的标题视区。 3.JFrame JFrame是Window的子类,由JFrame或其子类创建的对象是一个窗体。 1)构造方法 JFrame的构造方法有两个: JFrame() 创建无标题窗口。 JFrame(String s) 创建标题名字是字符串s的窗口。 例如:JFrame f = new JFrame(“Hello”); 2)常用方法 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 3)创建JFrame JFrame类的用法有两种:一种是直接创建其对象并使用。 下面程序演示了通过创建JFrame对象方式,创建一个窗口。 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类,创建其子类,然后再创建并使用其子类的对象。下面程序实现了与上面程序同样的效果。 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(); } } 4)对JFrame添加组件有两种方式: ①用getContentPane( )方法获得JFrame的内容面板,再对其加入组件: frame.getContentPane().add(childComponent) ②建立一个Jpanel或 JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板: Jpanel centerPane=new Jpanel( ); ……//把其它组件添加到Jpanel中; frame.setContentPane(centerPane); //把centerPane对象设置成为frame的内容面板


GUI程序界面组成

常用的容器组件

JFrame

import javax.swing.*;

/*本类对应实训: */
public class MainClass {
	// JDBC 驱动名及数据库 URL
     
    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);
         
    }
}