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

正文內(nèi)容

java程序設(shè)計(jì)教程與實(shí)驗(yàn)數(shù)組、字符串、向異常處理、圖形用戶界面ppt-資料下載頁(yè)

2025-01-19 08:28本頁(yè)面
  

【正文】 性 94 使用 Graphics類繪圖 ? 當(dāng)在 AWT組件和 Swing頂層窗口( JApplet和JFrame,是 )上繪圖時(shí),需要 重寫組件的 paint()方法 ;當(dāng)在Swing的 JComponent的子類組件上繪圖時(shí),則需重寫 paintComponent()方法 。在這兩種情況( Swing和 AWT)下,都是以一個(gè) Graphics對(duì)象作為參數(shù)。在某個(gè)組件需要進(jìn)行繪圖操作時(shí),系統(tǒng)會(huì)將 Graphics對(duì)象傳遞給 paint方法或paintComponent方法。 paint方法和paintComponent方法的頭部分別為: ? public void paint(Graphics g ) ? public void paintComponent(Graphics g ) 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 95 ? 【 例 】 使用各種顏色、字體繪制文字及各種圖形。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 96 Swing常用組件 ? 事件處理機(jī)制是一種事件處理框架,其設(shè)計(jì)目的是把 GUI交互動(dòng)作(鼠標(biāo)點(diǎn)擊、菜單選擇等)轉(zhuǎn)變?yōu)檎{(diào)用相關(guān)的 事件處理程序 進(jìn)行處理。 Java采取了授權(quán)處理機(jī)制 (Delegationbased Model),事件源可以把在其自身所有可能發(fā)生的事件分別授權(quán)給不同的事件處理者來(lái)處理。 ? 由于窗口管理器無(wú)法直接調(diào)用開發(fā)人員提供的事件處理程序,必須在運(yùn)行時(shí)告訴事件模型,哪一個(gè)例程用于處理事件。因此,為了獲取任何事件,開發(fā)人員必須事先通知窗口系統(tǒng),令其將事件發(fā)送給自己提供的事件處理程序,把事件處理程序注冊(cè)為窗口管理器中的一個(gè)回調(diào)例程,使之連接到產(chǎn)生事件的組件上。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 97 ? 在事件處理的過(guò)程中,主要涉及 三類對(duì)象 : ◇ 事件源 ,事件發(fā)生的場(chǎng)所,通常就是各個(gè)組件,例如按鈕 JButton。 ◇ 事件對(duì)象 ,用戶對(duì)界面操作在 java語(yǔ)言上的描述,以類的形式出現(xiàn),例如點(diǎn)擊按鈕對(duì)應(yīng)的事件類是 ActionEvent。 ◇ 事件處理者,接收事件對(duì)象并對(duì)其進(jìn)行處理的對(duì)象。 (事件監(jiān)聽器對(duì)象 ) 該對(duì)象所屬的類實(shí)現(xiàn)了 器的接口 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 98 【 例 】 關(guān)閉窗口事件處理。 // import .*。 import .*。 public class CloseDemo1{ public static void main(String args[]){ JFrame jframe=new JFrame(關(guān)閉窗口例 )。// 創(chuàng)建一個(gè)窗口 (400,100)。 // 設(shè)置窗口大小 (true)。 // 使窗口可見 myWinClose handler=new myWinClose()。 // 聲明事件對(duì)象 (handler)。 // 注冊(cè)事件監(jiān)聽器 } } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 99 // 實(shí)現(xiàn)了 WindowListener接口的類的定義 class myWinClose implements WindowListener{ // 關(guān)閉窗口的事件處理方法 public void windowClosing(WindowEvent e){(0)。} public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 100 ? 事件處理程序均可采用以下步驟進(jìn)行編寫: ? 編寫一個(gè)實(shí)現(xiàn)了 SomethingListener接口的類。在其中包括用于事件處理的方法。 ? 聲明一個(gè)類的對(duì)象,如 handler。 ? 調(diào)用組件的 addSomethingListener(handler)方法。注冊(cè)事件監(jiān)聽器對(duì)象,同時(shí)也就注冊(cè)了用于事件處理的回調(diào)程序。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 101 ? ? 在 Java事件處理中,對(duì)于某些監(jiān)聽器接口(如 WindowListener)而言,我們也許只想實(shí)現(xiàn)其中的一種或兩種功能,使之能夠處理我們感興趣的一個(gè)或兩個(gè)事件。每個(gè)SomethingListener接口中都可能定義了多個(gè)方法。 配器類。一個(gè)適配器類實(shí)現(xiàn)一個(gè)接口,并為該接口的所有方法提供默認(rèn)實(shí)現(xiàn)(空方法體),從而允許我們僅僅覆蓋自己感興趣的少量方法。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 102 【 例 】 利用適配器,進(jìn)行關(guān)閉窗口事件處理。 // import .*。 import .*。 public class CloseDemo2{ public static void main(String args[]){ JFrame jframe=new JFrame(關(guān)閉窗口例 )。 (400,100)。 (true)。 myWinClose2 handler=new myWinClose2()。 (handler)。 } } // 定義繼承于窗口適配器的類 class myWinClose2 extends WindowAdapter{ public void windowClosing(WindowEvent e){(0)。} } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 103 ? 【 例 】 使用匿名類進(jìn)行關(guān)閉窗口事件處理。 // import .*。 import .*。 public class CloseDemo3{ public static void main(String args[]){ JFrame jframe=new JFrame(關(guān)閉窗口例 )。 (400,100)。 (true)。 ( new WindowAdapter(){ public void windowClosing(WindowEvent e) {(0)。} } )。 } } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 104 ? 【 例 】 讓頂級(jí)類實(shí)現(xiàn)監(jiān)聽器接口,進(jìn)行關(guān)閉窗口事件處理。 // import .*。 import .*。 public class CloseDemo4 extends WindowAdapter{ /*定義頂級(jí)類時(shí),另其繼承于窗口適配器 */ public static void main(String args[]){ JFrame jframe=new JFrame(關(guān)閉窗口例 )。 (400,100)。 (true)。 (new CloseDemo4())。 } // 窗口關(guān)閉事件處理程序 public void windowClosing(WindowEvent e) {(0)。} } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 105 JLabel組件與鼠標(biāo)事件處理 ? 1. 鼠標(biāo)事件 ? 用于處理鼠標(biāo)事件監(jiān)聽器接口有 MouseListener和MouseMotionListener接口。任何派生于 GUI組件都可以捕獲鼠標(biāo)事件。表 MouseListener和 MouseMotionListener接口的方法。 ? 2. JLabel ? GUI使用標(biāo)簽輸出文本提示或信息。標(biāo)簽由 JLabel類定義。JLabel是最簡(jiǎn)單的 JComponent。標(biāo)簽顯示單行只讀文本、影像或者兩者兼有,根據(jù)提供給構(gòu)造函數(shù)的參數(shù),其內(nèi)容可以是左、右或中間對(duì)齊的。默認(rèn)情況是左對(duì)齊。 JLabel的主要構(gòu)造方法如下: ? Jlabel():創(chuàng)建一個(gè)無(wú)文本也無(wú)影像的標(biāo)簽; ? JLabel(String text)。創(chuàng)建一個(gè)帶有指定文本的標(biāo)簽實(shí)例; ? JLabel(Icon image):創(chuàng)建一個(gè)帶有指定影像的標(biāo)簽實(shí)例。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 106 ? 【 例 】 設(shè)計(jì)一個(gè) GUI程序,要求該程序可進(jìn)行鼠標(biāo)事件處理,當(dāng)發(fā)生鼠標(biāo)按下、拖動(dòng)、移動(dòng)、進(jìn)入窗口、離開窗口等操作時(shí),用標(biāo)簽指明鼠標(biāo)所處的坐標(biāo)值。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 107 按鈕、文本字段與動(dòng)作事件 ? ? 動(dòng)作事件 ActionEvent只包含一個(gè)事件:ACTION_PERFORMED,需完成重寫 actionPerformed()方法,能夠觸發(fā)該事件的動(dòng)作包含: ? (1) 點(diǎn)擊按鈕 (JButton); ? (2) 在文本框 (JTextField)中輸入回車; ? (3) 雙擊列表( JList)中的選項(xiàng); ? (4) 選擇菜單項(xiàng) (JMenuItem)等。 ? 動(dòng)作事件屬于 AWT事件,接口為 ActionListener,對(duì)應(yīng)的動(dòng)作事件處理方法是: ? public void actionPerformed(ActionEvent e){} ? 在這個(gè)事件處理方法中,使用 源的命令名。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 108 ? 2. JButton與 ActionEvent ? JButton類用于創(chuàng)建命令按鈕,按鈕表面所顯示的文本稱為按鈕標(biāo)簽,在 GUI中使用多個(gè) JButton時(shí),應(yīng)確保為每個(gè)按鈕提供唯一的標(biāo)簽。單擊按鈕會(huì)引發(fā)事件:ActionEvent,開發(fā)人員提供的事件處理程序應(yīng)能夠在單擊按鈕時(shí)采取適當(dāng)?shù)奶幚韯?dòng)作。 ? JButoon常用構(gòu)造方法有: ? JButton():創(chuàng)建一個(gè)無(wú)標(biāo)簽的按鈕; ? JButton(String text):創(chuàng)建一個(gè)標(biāo)簽為 text的按鈕; ? JButton(Icon icon):創(chuàng)建一個(gè)圖標(biāo)為 icon的按鈕。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 109 ? 【 例 】 設(shè)計(jì)一個(gè)簡(jiǎn)易加法器的 GUI程序,通過(guò)點(diǎn)擊數(shù)字按鈕得到兩個(gè)加數(shù),進(jìn)行求和運(yùn)算。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 110 3. 文本框 JTextField與 ActionEvent ? JTextField是屏幕上的一個(gè)區(qū)域,可用于輸入文本行信息。 JTextField包括兩個(gè)子類: JTextArea(可以輸入若干文本行)和 JPasswordField(不回顯輸入的內(nèi)容)。JTextField和 JPasswordField都是單行區(qū)域,用戶可以通過(guò)鍵盤在該區(qū)域中輸入文本,或者程序在區(qū)域中顯示文本。密碼框 JPasswordField擴(kuò)展 JTextField類,并增加了一些專用于處理密碼的方法,在 JPasswordField中的字符都會(huì)以字符(默認(rèn)是 “ *” )的形式表現(xiàn)出來(lái)。 ? JTextField的主要構(gòu)造方法有: ? JTextField():創(chuàng)建一個(gè)空文本的文本框; ? JTextField(String text):創(chuàng)建一個(gè)初始文本為 text的文本框; ? JTextField(String text,int columns):創(chuàng)建一個(gè)初始文本為 text的文本框,并指定初始字段長(zhǎng)度為 columns。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 111 ? JTextField的主要方法有: ? void setFont(Font f):設(shè)置字體; ? String getText():獲取文本框中的文本; ? void setText():設(shè)置文本; ? void setEditable(boolean b):設(shè)置文本框是否可編輯; ? void setHorizontalAlignment(int alignment):設(shè)置文本對(duì)齊方式??捎玫膶?duì)齊方式有左對(duì)齊 ,中間對(duì)齊 。 ? JPasswordField的構(gòu)造方法基本與 JTextField一致,它的主要方法有: ? char[] getPassword():獲取密碼框的密碼; ? void getEchoChar():獲得回顯示字符; ? void setEchoChar(char c):設(shè)置回顯字符為 c。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 112 ? 【 例 】 程序 JTextField和 JPasswordField類來(lái)創(chuàng)建和操
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1