AWT 容器

java.awt包中提供了两种基类来表示图形界面元素:Component和MenuComponent,其中Component代表一个能以图形化方式显示出来,并可与用户交互的对象,例如Button代表一个按钮,TextField代表一个文本框等,而MenuComponent则代表了图形界面的菜单组件,包括MenuBar(菜单条)、MenuItem(菜单项)等子类。

 

AWT 容器 - quanquan127@126 - 学无止境

       除此之外,AWT图形用户界面编程里还有两个重要的概念:Container和LayoutManager,其中Container是一种特殊的Component,它代表一种容器,可以盛装普通的Component,而LayoutManager则是容器管理器中其他组建的方式。

      容器(Container)是Component的子类,因此容器对象本身也是一个组件,具有组件的所有性质,可以调用Component的所有方法,Component类有如下几个常用的方法来设置组件的大小、位置和可见性等。

      setLocation(int x,int y):设置组件位置

      setSize(int width,int height):设置组件的大小

      setBounds(int x,int y,int width,int height):同时设置组件的位置、大小

      setVisible(Boolean b):设置组件的可见性。

       除此之外,容器还具有盛装其他组件的功能,容器类(Container)主要提供了如下几个常用方法来访问容器中的组件:

       Component add(Component comp):向容器中添加其他组件(该组件既可以是普通组件,也可以是容器),并返回被添加的组件。

       Component getComponentAt(int x,int y):返回指定点的组件。

       int getComponentCount():返回该容器内组件的数量。

       Component[] getComponents():返回该容器内的所有组件。

 

AWT中主要提供了两种主要的容器类型:

(1)Window:可独立存在的顶级窗口

(2)Panel:可作为容器容纳其他组件,但不能独立存在,必须添加到其他容器中(如Window、Panel或者Applet等)。

AWT容器的的继承关系图如下图所示:

AWT 容器 - quanquan127@126 - 学无止境

       图中以粗黑线圈出的容器是AWT编程中常用的组件,其中Frame代表常见的窗口,它是Window类的子类,具有如下几个特征:

 (1)Frame对象有标题,允许通过拖拉来改变窗口的位置、大小。

 (2)初始化时为不可见,可用setVisible(true)使其显示出来。

 (3)默认使用BorderLayout作为其布局管理器。

       Panel是AWT中另一个典型的容器,它代表不能独立存在、必须放在其他容器中的容器。Panel外在表现为一个矩形区域,该区域内可盛装其他组件。Panel容器存在的意义在于为其他组件提供空间,Panel容器具有如下几个特点:

  (1)可作为容器来盛装其他组件,为放置组件提供空间

  (2)不能单独存在,必须放置到其他容器中。

  (3)默认使用FlowLayout作为其布局管理器。

下面例子程序使用Panel作为容器来盛装了一个文本框和一个按钮,并将该Panel对象添加Frame对象中,程序如下:

import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.Button;
public class TestPanel
{
 public static void main(String[] args)
 {
  Frame f=new Frame("测试窗口");
  Panel p=new Panel();

  p.add(new TextField(20));
  p.add(new Button("单击我"));

  f.add(p);
  f.setBounds(30,30,250,120);
  f.setVisible(true);
  System.out.println("Hello World!");
 }
}

   ScrollPane是一个带滚动条的容器,它也不能独立存在,必须被添加到其他容器中。ScrollPane容器具有如下几个特点:
(1)可作为容器来盛装其他组件,当组件占用空间过大时,ScrollPane自动产生滚动条。当然也可以通过指定特定的构造器参数来指定默认具有滚动条。
(2)不能单独存在,必须放置到其他容器中。
(3)默认使用BorderLayout作为其布局管理器。ScrollPane通常用于盛装其他容器,所有通常不允许改变ScrollPane的布局管理器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值