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

正文內容

java語言程序設計基礎教程(中)ppt-在線瀏覽

2024-12-03 16:19本頁面
  

【正文】 ep6_7 { ? public static void main(String args[]) { ? Frame f = new Frame(BorderLayout)。 ? (North, new Button(North))。 ? // 第一個參數表示把按鈕添加到容器的 South區(qū)域 ? (East, new Button(East))。 ? // 第一個參數表示把按鈕添加到容器的 West區(qū)域 ? (Center, new Button(Center))。 ? (true)。例如容器變高了,則North、 South區(qū)域不變, West、 Center、East區(qū)域變高;如果容器變寬了, West、East區(qū)域不變, North、 Center、 South區(qū)域變寬。 GridLayout布局 ? GridLayout布局使容器中各個組件呈網格狀布局,每個組件平均占據容器的空間。 ? public class ep6_8 { ? public static void main(String args[]) { ? Frame f = new Frame(GridLayout)。 // 容器平均分成 3行 2列共 6格 ? (new Button(1))。 // 添加到第一行的下一格 ? (new Button(3))。 // 添加到第二行的下一格 ? (new Button(5))。 // 添加到第三行的下一格 ? (200, 200)。 ? } ? } CardLayout布局 ? CardLayout布局管理器能夠幫助用戶處理兩個以至更多的成員共享同一顯示空間,它把容器分成許多層,每層的顯示空間占據整個容器的大小,但是每層只允許放置一個組件,當然每層都可以利用 Panel來實現復雜的用戶界面。 ? import .*。 //事件處理機制,下一節(jié)的內容 ? public class ep6_9 implements MouseListener { ? CardLayout layout = new CardLayout()。 ? Button page1Button。 // Label是標簽,實際上是一行字符串 ? TextArea page3Text。 ? Button page3Bottom。 ? } ? public void go() { ? (layout)。 ? // 第二個參數 page1Button表示的是你對這層牌所取的名字 ? (this)。 ? (this)。 ? (new BorderLayout())。 ? (this)。 ? (this)。 ? (this)。 ? (200, 200)。 ? } ? public void mouseClicked(MouseEvent arg0) { ? } ? public void mouseEntered(MouseEvent arg0) { ? } ? public void mouseExited(MouseEvent arg0) { ? } ? public void mousePressed(MouseEvent arg0) { ? } ? public void mouseReleased(MouseEvent arg0) { ? } ? } ? 在復雜的圖形用戶界面設計中,為了使布局更加易于管理,具有簡潔的整體風格,一個包含了多個組件的容器本身也可以作為一個組件加到另一個容器中去,容器中再添加容器,這樣就形成了容器的嵌套。 Frame的缺省布局管理器為BorderLayout。 Panel 的缺省布局管理器為 FlowLayout。因此,可以利用 Panel 使得BorderLayout 中某個區(qū)域顯示多個組件,達到設計復雜用戶界面的目的 。 setSize()。 AWT事件處理模型 ? 前面的主要內容是如何放置各種組件,使圖形界面更加豐富多彩,但是還不能響應用戶的任何操作,要能夠讓圖形界面接收用戶的操作,就必須給各個組件加上事件處理機制。 ? 事件源:事件發(fā)生的場所,通常就是各個組件,例如按鈕 Button。 ? 例如,如果用戶用鼠標單擊了按鈕對象 button,則該按鈕 button就是事件源,而 Java運行時系統(tǒng)會生成 ActionEvent類的對象 actionE,該對象中描述了該單擊事件發(fā)生時的一些信息,然后,事件處理者對象將接收由 Java運行時系統(tǒng)傳遞過來的事件對象 actionE并進行相應的處理。 ? import .*。 ? Button b = new Button(Press Me!)。 ? // 注冊監(jiān)聽器進行授權 ,該方法的參數是事件處理者對象 ,本方法授權處理 ActionEvent,因為方法名是 addActionListener ? (new FlowLayout())。 ? (200, 100)。 ? } ? } ? class ButtonHandler implements ActionListener { ? // 實現接口 ActionListener才能做事件 ActionEvent的處理者 ? public void actionPerformed(ActionEvent e) ? // 系統(tǒng)產生的 ActionEvent事件對象被當作參數傳遞給該方法 ? { ? (Action occurred)。 ? } ? } ? 使用授權處理模型進行事件處理的一般方法歸納如下: ? 1.對于某種類型的事件 XXXEvent, 要想接收并處理這類事件,必須定義相應的事件監(jiān)聽器類,該類需要實現與該事件相對應的接口XXXListener; ? 2.事件源實例化以后,必須進行授權,注冊該類事件的監(jiān)聽器,使用addXXXListener(XXXListener ) 方法來注冊監(jiān)聽器。 AWT的相關事件繼承于 ,這些 AWT事件分為兩大類:低級事件和高級事件。高級事件是基于語義的事件,它可以不和特定的動作相關聯,而依賴于觸發(fā)此事件的類,如在 TextField中按 Enter鍵會觸發(fā)ActionEvent事件,滑動滾動條會觸發(fā)AdjustmentEvent事件,或是選中項目列表的某一條就會觸發(fā) ItemEvent事件。 ? 容器事件( ContainerEvent):組件增加,移動。 ? 焦點事件( FocusEvent):焦點的獲得和丟失。 ? 鼠標事件( MouseEvent):鼠標單擊,移動。 ? 調節(jié)事件( AdjustmentEvent):在滾動條上移動滑塊以調節(jié)數值。 ? 文本事件( TextEvent):文本對象的內容發(fā)生改變。例如,與鍵盤事件KeyEvent相對應的接口是: ? public interface KeyListener extends EventListener { ? public void keyPressed(KeyEvent ev)。 ? public void keyTyped(KeyEvent ev)。當鍵盤剛按下去時,將調用keyPressed( )方法執(zhí)行,當鍵盤抬起來時,將調用 keyReleased( )方法執(zhí)行,當鍵盤敲擊一次時,將調用 keyTyped( )方法執(zhí)行。 ? //把退出窗口的語句寫在本方法中 ? public void windowOpened(WindowEvent e)。 ? //窗口圖標化時調用 ? public void windowDeiconified(WindowEvent e)。 ? //窗口關閉時調用 ? public void windowActivated(WindowEvent e)。 ? //窗口非激活時調用 ? } ? AWT的組件類中提供注冊和注銷監(jiān)聽器的方法: ? ◇ 注冊監(jiān)聽器: ? public void add (listener)。 AWT事件及其相應的監(jiān)聽器接口 ? Java語言類的層次非常分明,因而只支持單繼承,為了實現多重繼承的能力, Java用接口來實現,一個類可以實現多個接口,這種機制比多重繼承具有更簡單、靈活、更強的功能。無論實現了幾個接口,接口中已定義的方法必須一一實現,如果對某事件不感興趣,可以不具體實現其方法,而用空的方法體來代替。 事件適配器 ? Java語言為一些 Listener接口提供了適配器( Adapter)類。事件適配器為我們提供了一種簡單的實現監(jiān)聽器的手段,可以縮短程序代碼。 ? 以下幾個: ? ComponentAdapter( 組件適配器 ) ? ContainerAdapter( 容器適配器 ) ? FocusAdapter( 焦點適配器 ) ? KeyAdapter( 鍵盤適配器 ) ? MouseAdapter( 鼠標適配器 ) ? MouseMotionAdapter( 鼠標運動適配器 ) ? WindowAdapter( 窗口適配器 ) AWT組件庫 ? 本節(jié)從應用的角度進一步介紹 AWT的一些常用組件,目的是加深對 AWT的理解,掌握如何用各種組件構造圖形化用戶界面,學會控制組件的顏色和字體。 //使用這個構造方法創(chuàng)建按鈕,沒有名稱 ? Button(String s)。 ? 當按鈕被點擊后,會產生 ActionEvent事件,需 ActionListener接口進行監(jiān)聽和處理事件。用 setActionCommand()可以為按鈕設置組件標識符。 ? import .*。 ? class WindowButton extends Frame implements ActionListener { ? int number。 ? TextField 輸入框 。 ? WindowButton(String s) { ? super(s)。 ? buttonGetNumber = new Button(得到一個隨機數 )。 ? 提示條 = new Label(輸入你的猜測: , )。 ? 輸入框 = new TextField(0, 10)。 ? add(輸入框 )。 ? add(buttonEnter)。 ? (this)。 ? setVisible(true)。 ? } ? public void actionPerformed(ActionEvent e) { ? if (() == buttonGetNumber) { ? number = (int) (() * 100) + 1。 ? } else if (() == buttonEnter) { ? int guess = 0。 ? if (guess == number) { ? 提示條 .setText(猜對了! )。 ? 輸入框 .setText(null)。 ? 輸入框 .setText(null)。 ? } ? } ? } ? } ? public class ep6_13 { ? public static void main(String args[]) { ? WindowButton win = new WindowButton(窗口 )。用戶可以在文本框輸入單行的文本??梢允褂胹etEditable(boolean)方法設置為只讀屬性。 ? tf2=new TextField(,20)。 //按文本區(qū)域大小顯示 ? tf4=new TextField(Hello!,30)。使用 setEditable(boolean)方法,可以將其設置為只讀的。 ? 要判斷文本是否輸入完畢,可以在 TextArea旁邊設置一個按鈕,通過按鈕點擊產生的ActionEvent對輸入的文本進行處理。 ? 選擇框提供兩種狀態(tài),一種是選中,另一種是未選中。 Checkbox構造方法如下表 61所示: 構造方法 功能描述 Checkbox() 創(chuàng)建不含標簽的選擇框 Checkbox(String label) 創(chuàng)建含有標簽的選擇框 Checkbox(String label, boolean on) 創(chuàng)建含有標簽的選擇框,并可指定選取狀態(tài) Checkbox(String label, CheckboxGroup g, Boolean on) 創(chuàng)建含有標簽并可指定選取狀態(tài)和選擇框群組的選擇框 常用方法如下表 62所示: 方法 功能描述 String getLabel() 獲得此選擇框的標簽 boolean getState() 獲得此選擇框的選取狀態(tài) void setState(boolea
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1