計算機二級考試JAVA基礎知識:組件和容器

來源:文萃谷 1.52W

  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對象之間、其他窗口面板與應用程序本身的關係顯示在這裏。

熱門標籤