计算机二级考试JAVA基础知识:组件和容器

  1、组件和容器

计算机二级考试JAVA基础知识:组件和容器

组件表示能够显示在屏幕上的各种图形化的实体。组件是Component子类的仔何一个对象正像我们已经看到的,JFrame窗口是一个组件,但不包含其他的子类。在研究特定的组件之前。我们先看一看表示组件的类组之间的一般关系。以Component为基础的一类层次如下图所示,示意图中的箭头指向超类。

这个示意图显示了Component的一些子类,其中有些对我们很重要。我们已经讨论了通往JFrame类的这条链,其他的分支是新的。所有由Container派生的类都可以包含Component派生的任何类的对象,通常被称作容器(Container).由于Container类是Coinponen类的子类,每个容器对象也是一个Component,所以一个容器又一可以包含另外一些除Window类私其子类以外的容器,即Window类型(或子类)的'对象不能包含在其他的容器中。如果你这样做,就会出现一个异常。JCornponent类是窗口中GUI部分使用的所有Swing组件的基础:

由于这个类是由Container派生来的,所以,全部的Swing组件都是容器。

正像你所看到的,JApplet类是所有Swing小应用程序的基类。它从Component通过cotainer类派生而来它还从扩展、改进的旧Applet类中继承了方法。你应该注意到JApplet,JFrarme, JDialog、Jcomponet类和其子类都在g包中。Applet类在et中听有其他的类在et包很小,只包含一个类加上3个相关的接口,我们并不需要直接使用它。我们常常使用JApplet类定义小应用程序,这比Applet更有意义。

 2、Window和Frame组件

JFrame对象和Window对象之间的基本区别是,JFrarne对象描述的是应用程序的主窗口,而window对象不是这样。在你创建window对象之前,总需要一个JFrame对象。

由于Jdialog类直接由Window类派生而来,所以你只能在JFrame对象中创建应用程序中的JDialog对象除了默认的构造函数外,JDialog类的构造函数通常需要一个JFrarme.对象作为自变量传递进来。JFrame对象称为JDialog对象的父类。JFrame对象有一个可调整大小的边框,它可以包含一个内置的菜单栏,由于JFrame对一象是应用程序中的顶层窗口,所以定义的大小和位置与屏幕有关。以JFrame对象为父类的JDialog对象的定位与其父类相关。

让我们总结一下,通常你将如何使用我们已经讨论过的层次中的关键类。

正像我们所说的,JApplet, JFrame和JDialog类都是容器,这是因为它们都以Containe作为基类,所以原则上可以包含任何类的组件。由于它们最终由component派生而来。所以它们自已也都是组件但有些事情并不像组件那么简单,你不能直接地为应用程序或小于程序的GLI将组件添加到程序的JFranme或JApplet对象。让我们看看练习中的的实际工作过程。

 3、窗口面板

当你想在窗口中添加GUI组件或绘图时,通过JFrame对象添加的组件或在其上面绘画的内容显示在又JFrame对象管理的窗口面板中。小应用程序也是如此:概括地讲。窗口面板是一个包含描述窗口区域的对象,他们呢来自几种不同的类型。

我们将使用个大家都称为内容面板的窗口面板。而不使用其他的面板:contcntPane对象之间、其他窗口面板与应用程序本身的关系显示在这里。