freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計之網(wǎng)絡(luò)編程gui程序設(shè)計、applet應(yīng)用程序ppt(已修改)

2024-10-31 04:51 本頁面
 

【正文】 《 Java程序設(shè)計之網(wǎng)絡(luò)編程 》 計算機(jī)學(xué)院 教學(xué)課件 第 11章 GUI程序設(shè)計 主要內(nèi)容 ? AWT組件簡介 ? ? AWT事件處理 ? 常用 AWT組件使用舉例 ? Swing組件設(shè)計用戶界面 ? AWT圖形和 Java2D圖形 AWT組件簡介 ? Frame框架類 ? Panel面板類 例子 AWT介紹 ? 抽象窗口工具包 AWT (Abstract Window Toolkit) 是 API為 Java 程序提供的建立圖形用戶界面 GUI (Graphics User Interface)工具集, AWT可用于Java的 applet和 applications中。它支持圖形用戶界面編程的功能包括: 用戶界面組件;事件處理模型;圖形和圖像工具,包括形狀、顏色和字體類;布局管理器,可以進(jìn)行靈活的窗口布局而與特定窗口的尺寸和屏幕分辨率無關(guān);數(shù)據(jù)傳送類,可以通過本地平臺的剪貼板來進(jìn)行剪切和粘貼。 (其他類似的有 Swing, SWT) ? GUI設(shè)計所使用的類和接口,可從下圖中看到主要類之間的關(guān)系。 java程序的 GUI設(shè)計工具。主要包括下述三個概念: 組件 Component 容器 Container 布局管理器 LayoutManager AWT包包含的主要類 ? 容器 Component的子類,一個容器可以容納多個組件,并使它們成為一個整體。容器可以簡化圖形化界面的設(shè)計,以整體結(jié)構(gòu)來布置界面。所有的容器都可以通過 add()方法向容器中添加組件。 有三種類型的容器: Window、 Panel、ScrollPane,常用的有 Panel, Frame, Applet。 Frame框架類 ? 一般我們要生成一個窗口,通常是用 Window的子類 Frame來進(jìn)行實例化,而不直接用到 Window類。Frame的外觀就像我們平常在 windows系統(tǒng)下見到的窗口,有標(biāo)題、邊框、菜單、大小等等。每個Frame的對象實例化以后,默認(rèn)是不顯示和最小化的,因此必須調(diào)用 setSize()來設(shè)置大小,調(diào)用setVisible(true)來設(shè)置該窗口為可見的??蚣茴惖脑S多方法都是從它的超類 Window類及更上層的Container和 Component類繼承而來。 Frame的例子 ? import .*。 public class MyFrame extends Frame{ public static void main(String args[ ]){ MyFrame fr = new MyFrame(“Hello Out There!”)。 //構(gòu)造方法 (200,200)。 //設(shè)置 Frame的大小,缺省為( 0, 0) ()。 //設(shè)置 Frame的背景,缺省為紅色 (true)。 //設(shè)置 Frame為可見,缺省為不可見 } public MyFrame (String str){ super(str)。 //調(diào)用父類的構(gòu)造方法 } } Panel面板類 ? Panel是一種沒有標(biāo)題的容器。并且實例化后必須用 Container的 add方法加入到 Window對象中。 ? java應(yīng)用程序中,一般獨(dú)立應(yīng)用程序主要使用框架做容器,在 Frame上通過放置 Panel面板來控制圖形界面的布局。如果應(yīng)用到瀏覽器中,則主要使用Panel的一個子類 Applet來做容器。 Applet是一個能夠嵌入瀏覽器運(yùn)行的特殊容器。 例子: Frame with Pannel Pannel的子類 Applet ? import .*。 public class FrameWithPanel extends Frame{ public FrameWithPanel(String str){ super(str)。 } public static void main(String args[]){ FrameWithPanel fr = new FrameWithPanel(Frame with Panel)。 Panel pan=new Panel()。 (200,200)。 ()。 //框架 fr的背景顏色設(shè)置為紅色 (null)。 //取消布局管理器 (100,100)。 ()。 //設(shè)置面板 pan的背景顏色為黃色 (pan)。 //用 add方法把面板 pan添加到框架 fr中 (true)。 } } Frame框架類 ? AWT在實際的運(yùn)行過程中是調(diào)用所在平臺的圖形系統(tǒng) , 因此同樣一段 AWT程序在不同的操作系統(tǒng)平臺下運(yùn)行所看到的圖形系統(tǒng)是不一樣的 。 例如在windows下運(yùn)行 , 則顯示的窗口是 windows風(fēng)格的窗口;而在 UNIX下運(yùn)行時 , 則顯示的是 UNIX風(fēng)格的窗口 。 Component組件 ? 在 AWT的概念中,窗口系統(tǒng)所顯示的各種對象統(tǒng)稱為構(gòu)件:Button, Menu, List等等都是構(gòu)件。 ? Component是代表構(gòu)件最基本的類。 ? Component類中定義了各種窗口對象中最基本、最重要的方法和性質(zhì)。隨時隨處都有可能利用 Component定義的方法 ? 類 , Component類中封裝了組件通用的方法和屬性,如圖形的組件對象、大小、顯示位置、前景色和背景色、邊界、可見性等,因此許多組件類也就繼承了Component類的成員方法和成員變量,相應(yīng)的成員方法包括: getComponentAt(int x, int y) getFont() getForeground() getName() getSize() paint(Graphics g) repaint() update() setVisible(boolean b) setSize(Dimension d) setName(String name)等 組件庫 1.按鈕 Button 2.標(biāo)簽 Label 3. 單行文本輸入?yún)^(qū) TextField 4. 文本輸入?yún)^(qū)( TextArea) 5.復(fù)選框 Checkbox CheckboxGroup 7. 下拉式菜單 Choice 8. 列表 List 9. Canvas 后面再講。 ? FlowLayout ? BorderLayout ? GridLayout ? CardLayout ? GridBagLayout ? 無布局管理器 ? 容器的嵌套 LayoutManager 布局管理器( LayoutManager):每個容器都有一個布局管理器,當(dāng)容器需要對某個組件進(jìn)行定位或判斷其大小尺寸時,就會調(diào)用其對應(yīng)的布局管理器。 為了使我們生成的圖形用戶界面具有良好的平臺無關(guān)性,Java語言中,提供了布局管理器這個工具來管理組件在容器中的布局,而不使用直接設(shè)置組件位置和大小的方式。 ? 在程序中安排組件的位置和大小時,應(yīng)該注意以下兩點: 1.容器中的布局管理器負(fù)責(zé)各個組件的大小和位置,因此用戶無法在這種情況下設(shè)置組件的這些屬性。如果試圖使用 Java 語言提供的 setLocation(), setSize(),setBounds() 等方法,則都會被布局管理器覆蓋。 ? 2.如果用戶確實需要親自設(shè)置組件大小或位置,則應(yīng)取消該容器的布局管理器,方法為: setLayout(null); FlowLayout ? FlowLayout 是 Panel, Applet的缺省布局管理器 。其組件的放置規(guī)律是從上到下 、 從左到右進(jìn)行放置 ,如果容器足夠?qū)?, 第一個組件先添加到容器中第一行的最左邊 , 后續(xù)的組件依次添加到上一個組件的右邊 , 如果當(dāng)前行已放置不下該組件 , 則放置到下一行的最左邊 。 ? 當(dāng)容器的大小發(fā)生變化時,用 FlowLayout管理的組件會發(fā)生變化,其變化規(guī)律是:組件的大小不變,但是相對位置會發(fā)生變化。例如上圖中有三個按鈕都處于同一行,但是如果把該窗口變窄,窄到剛好能夠放下兩個按鈕,則第三個按鈕將放到第二行。 FlowLayout // import .*。 import .*。 public class TestFlowLayout extends WindowAdapter { public TestFlowLayout() { } public void windowClosing( WindowEvent e){ (0)。 } public static void main(String arg[]) { Frame frame = new Frame(Test Flow Layout)。 (300,150)。 (new TestFlowLayout())。//為 “ 關(guān)閉 ”按鈕添加窗口響應(yīng)事件。 Button button1 = new Button(First Button)。 Button button2 = new Button(Second Button)。 Button button3 = new Button(Third Button)。 Button button4 = new Button(Fourth Button)。 (new FlowLayout())。 // 缺省的對齊方式居中對齊。 (button1)。 (button2)。 (button3)。 (button4)。 (true)。 } } BorderLayout ? BorderLayout 是 Window, Frame和 Dialog的缺省布局管理器。 BorderLayout布局管理器把容器分成 5個區(qū)域: North, South, East, West和Center, 每個區(qū)域只能放置一個組件。如果使用了BorderLayout布局,當(dāng)容器的大小發(fā)生變化,其變化規(guī)律為:組件的相對位置不變,大小發(fā)生變化。例如容器變高了,則 North、 South區(qū)域不變,West、 Center、 East區(qū)域變高;如果容器變寬了,West、 East區(qū)域不變, North、 Center、 South區(qū)域變寬。不一定所有的區(qū)域都有組件,如果四周的區(qū)域( West、 East、 North、 South區(qū)域)沒有組件,則由 Center區(qū)域去補(bǔ)充 。 BorderLayout // import .*。 import .*。 public class TestBorderLayout extends WindowAdapter{ public TestBorderLayout() { } public void windowClosing(WindowEvent e){ (0)。 } public static void main(String[] args) { Frame frame = new Frame(Test Border Layout)。 (300,200)。 (new TestBorderLayout())。 Button button1 = new Button(東 )。 Button button2 = new Button(南 )。 Button button3 = new Button(西 )。 Button button4 = new Button(北 )。 Button button5 = new Button(中 )。 (new BorderLayout(10,10))。 (East,button1)。 (South,button2)。 (West,butto
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1