JAVA教程.ppt_第1頁
JAVA教程.ppt_第2頁
JAVA教程.ppt_第3頁
JAVA教程.ppt_第4頁
JAVA教程.ppt_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、在本節(jié)課中,您將學(xué)習(xí): 描述 Abstract Window Toolkit (AWT) 軟件包及其組件 定義術(shù)語容器、組件和布局管理器,并描述如何一起使用它們來構(gòu)建 GUI 正確使用框架和面板容器 將組件添加到容器中 使用各種布局管理器來獲取所需的動態(tài)布局,目標(biāo),提供要在所有 Java applet 和應(yīng)用程序中使用的 GUI 組件。 包含可以組成或擴(kuò)展的類。 確保每個在屏幕上顯示的 GUI 組件都是類 Component 或MenuComponent 的子類。 具有容器,該容器是 Component 的抽象子類并且包括兩個子類: Panel(面板) Window(窗口),Abstract

2、Window Toolkit,java.awt 軟件包,AWT 軟件包的基本概述:,Java.lang.object,Applet,Button Canvas Container Label List TextComponent,MenuBar MenuItem,Menu CheckboxMenuItem,Panel Window ScrollPane,Dialog Frame,TextArea TextField,BorderLayout FlowLayout CardLayout CheckboxGroup Event Color Font Graphics MenuComponent G

3、ridLayout GridBagLayout Image Rectangle Component,容器,兩種主要類型的容器是: 窗口 面板 窗口是一個在顯示屏上自由移動的窗口。 面板是 GUI 組件的一個容器,它必須在某些其他容器的環(huán)境中存在,如窗口或 Applet。 使用add() 方法添加組件。,組件,Java 編程語言支持各種組件,如: Button Choice Label List Scrollbar TextComponent 等。 容器中組件的位置和大小是由布局管理器決定的。 必須對組件使用 setLocation()、setSize()或 setBounds()以在容器中找到

4、它們。,框架有以下特性: 它們是 Window 的子類 具有標(biāo)題和重調(diào)大小的角 最初是看不見的,使用 setVisible(true) 可以顯示框架 具有如缺省布局管理器一樣的 BorderLayout 使用 setLayout() 方法更改缺省布局管理器,框架,框架(續(xù)),創(chuàng)建框架的示例: import java.awt.*; public class FrameExample private Frame f; public FrameExample() f = new Frame(Hello Out There!); public void launchFrame() f.setSize(

5、170,170); f.setBackground(Color.blue); f.setVisible(true); public static void main(String args) FrameExample guiWindow = new FrameExample(); guiWindow.launchFrame(); ,聲明框架對象,初始化框架對象,設(shè)置框架的大小,使框架可見,面板,面板為組件提供一個空間。 使子面板能夠具有自己的布局管理器。 創(chuàng)建面板之后,它必須被添加到窗口或框架中。,面板(續(xù)),以下代碼段幫助您創(chuàng)建一個小的黃色面板,并將它添加到框架中: public Panel

6、 pan; public Frame f; f=new Frame( “Im with panel”); pan = new Panel(); public void launchFrame() f.setSize(200,200); f.setLayout(null); / 使用缺省布局 pan.setSize(100,100); pan.setBackground(Color.yellow); f.add(pan); f.setVisible(true); ,聲明面板對象,初始化面板對象,設(shè)置面板的大小,為面板指定黃色,將面板添加到框架,布局管理器,布局管理器用于將組件放在所需的位置。 J

7、ava 編程語言包括以下布局管理器: FlowLayout BorderLayout GridLayout CardLayout GridBagLayout,窗口、框架和對話框類的缺省布局管理器是BorderLayout。 同樣,面板和 Applet 的缺省布局管理器是 FlowLayout。,布局管理器 (續(xù)),FlowLayout 管理器具有以下特性: 為 Panel 類形成缺省布局 從左至右添加組件 缺省的對齊方式是居中對齊 使用組件首選的大小 使用構(gòu)造器調(diào)整行為,布局管理器(續(xù)),FlowLayout 的一個簡單示例: public class LayoutExample privat

8、e Frame f; private Button b1; private Button b2; public LayoutExample() f = new Frame(GUI example); b1 = new Button(Press Me); b2 = new Button(Dont press Me); ,布局管理器(續(xù)),初始化組件,聲明組件,public void launchFrame() f.setLayout(new FlowLayout(); f.add(b1); f.add(b2); f.pack(); f.setVisible(true); public stati

9、c void main(String args) LayoutExample guiWindow = new LayoutExample(); guiWindow.launchFrame(); ,布局管理器(續(xù)),在框架上添加組件,設(shè)置 FlowLayout,上述代碼將顯示以下的輸出結(jié)果:,布局管理器(續(xù)),BorderLayout 管理器具有以下特性: Frame 類的缺省布局 組件被添加到某些特定區(qū)域 重調(diào)大小的行為如下所示: 水平調(diào)整北、南和中央?yún)^(qū)域 垂直調(diào)整東、西和中央?yún)^(qū)域,布局管理器(續(xù)),使用不帶有任何參數(shù)結(jié)構(gòu)的構(gòu)造器并在組件之間安裝一個沒有間隔的新的 BorderLayout:

10、setLayout(new BorderLayout(); BorderLayout 構(gòu)造器指定 hgap和 vgap可用來表明組件之間的間隔: BorderLayout(int hgap,int vgap); 組件必須被添加到 BorderLayout 管理器中已命名的區(qū)域: f.add(button1,BorderLayout.NORTH);,布局管理器(續(xù)),GridLayout 管理器的特性是: 組件是從左到右,從上到下添加的。 所有區(qū)域的大小都相等。 構(gòu)造器指定行數(shù)和列數(shù),例如: f.setLayout ( new GridLayout( 3,2); 在 Java 程序中使用該語句能

11、夠幫助您獲得以下的輸出結(jié)果:,布局管理器(續(xù)),讓我們來看一下如何創(chuàng)建一個Java 類,該類使用 AWT API 創(chuàng)建一個簡單的 GUI 前端。,示范,在 AWT 中繪制,Graphics 類是一個抽象類,它用來繪制圖像。 每個組件都有一個 Graphics 對象。 Graphics 類實施許多繪制方法。 您可以在任何組件中進(jìn)行繪制(雖然 AWT 只為 Canvas 和 Panel 類提供此功能)。 創(chuàng)建 Canvas 或 Panel 的子類并取代 paint() 方法。 每當(dāng)顯示組件時,調(diào)用 paint() 方法(例如,如果另一個窗口與組件重疊了并且被除去了),paint()方法的示例: p

12、ublic void paint( Graphics g ) /在 x,y 的中央處顯示詞 today FontMetrics fm = getFontMetrics( g.getFont() ); String wording = today; int xadj = fm.stringWidth( wording ) / 2; /文本的左下角位置 g.drawString( wording, x-xadj, y ); /繪制一條從 x1,y1 到 x2,y2 的紅線,在 AWT 中繪制(續(xù)),g.setColor(Color.red ); g.drawLine(x1, y1, x2, y2)

13、; /繪制一個現(xiàn)有的圖像。imX, imY 是圖像的左上角。 g.drawImage ( image,imX,imY,imWidth,imHeight,this); / 結(jié)束繪制,在 AWT 中繪制(續(xù)),由 Graphics對象繪制的各種形狀:,在 AWT 中繪制(續(xù)),小結(jié),在本節(jié)課中,您學(xué)習(xí)了: Abstract Window Toolkit 提供了在所有Java applet 和應(yīng)用程序中使用的 GUI 組件。 Window 和 Panel是容器的子類。 Button, Choice, Label, List, Scrollbar, TextComponent 是Java 編程語言提供的各種組件。 Frame 是 Window 的子類,只有使用setVisible(true)方法展示它們時才能看到它們。 面板為組件提供空間,并且需要添加到 Frame 或 Window。 布局管理器是由Java 編程語言提供的,它將組件放置在任何所需的位置。,小結(jié)(續(xù)),Java 編程語言支持以下布局管理器: Fl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論