图形用户界面(二)——组件与容器

本文详细介绍了Java图形用户界面中的组件与容器。组件包括由Component类子类创建的对象,添加组件主要通过add()方法。容器,特别是Container类的子类,允许组件嵌套。文章特别强调了顶层容器的重要性,如JFrame、JApplet、JDialog和JWindow,并解释了它们的特点和使用场景。内容窗格是顶层容器中放置组件的主要区域,可以通过getContentPane()方法获取。此外,文章还提供了Frame框架类和Panel面板类的相关信息。
1、组件

Java把由Component类的子类或间接子类创建的对象称为一个组件。

Button b1 = new Button();

Label l1 = new Label();
添加组件

通过add()方法添加到容器中.

frame.add(b1);
2、容器

Java把由Container类的子类或间接子类创建的对象称为一个容器。

Frame frame = new Frame("窗口")
容器嵌套

依然选择add()方法

add(frame);
顶层容器

所有组件都必须包含在某个容器中,而有些容器是可以嵌套的,在这个嵌套层次的最外层,必须是一个顶层(Top level)容器

四种顶层容器

JFrame、JApplet、JDialog和Jwindow
- JFrame是一个带有标题行和控制按钮(最小化、恢复/最大化、关闭)的独立窗口,创建应用程序时需要使用JFrame。
- 创建小应用程序时使用JApplet,它被包含在浏览器窗口中。
- 创建对话框时使用JDialog。
- JWindow是一个不带有标题行和控制按钮的窗口,因此通常很少使用

内容窗格

顶层容器都有一个内容窗格(Content Pane); 顶层容器中除菜单之外的组件都是放在这个内容窗格中

将组件放入内容窗格

通过顶层容器的getContentPane()方法获得其缺省的内容窗格,然后将组件添加到内容窗格中

Container cp = frame.getContentPane();
cp.add(button, BorderLayout.CENTER); 
frame.getContentPane().add(button, BorderLayout.CENTER);
实例
public class Test1 {
    public static void main(String s[]) {
        JFrame frame = new JFrame("窗口"); // 创建一个JFrame的实例
        JButton b1 = new JButton("Press me"); // 创建一个JButton的实例
        JPanel cp = new JPanel(); // 创建一个JPanel的实例
        // 为JPanel设置BorderLayout布局管理器
        cp.setLayout(new BorderLayout());
        // 将JButton放到JPanel的中央
        cp.add(b1, BorderLayout.CENTER);
        // 为JFrame设置新的内容窗格
        frame.setContentPane(cp);
        frame.pack(); // 将JFrame设置到适当的大小
        frame.setVisible(true); // 显示JFrame
    }
}

运行结果:
这里写图片描述


Frame框架类
java.awt.Frame: 有边框容器
构造方法
Frame()
Frame(String title)
常用方法
getTitle()
setTitle(String s)
setVisible(boolean b)
setBounds(int a, int b, int width, int height)
setBackground(Color c)
pack(); 将JFrame设置到适当的大小
setSize(int width, int height)
dispose()
add()
remove()
Panel面板类

一种没有标题的容器。实例化后必须用Container的add方法加入到Window对象中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值