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

正文內(nèi)容

java網(wǎng)絡(luò)程序設(shè)計(jì)(下)ppt(編輯修改稿)

2025-05-10 23:46 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 時(shí),應(yīng)同步改變專(zhuān)家姓名組合框中的值,并且掛號(hào)費(fèi)也相應(yīng)改變 。 ⑵ “掛號(hào)”按鈕 btnReg的單擊事件 ActionEvent處理 ⑶為“退號(hào)”按鈕 btnCan添加單擊事件處理代碼 ⑷為“退出”按鈕 btnExit添加單擊事件處理代碼 詳細(xì)代碼見(jiàn)教材! Java的事件處理機(jī)制 一、委托事件模型 當(dāng)用戶(hù)操作組件引發(fā)某個(gè) 事件時(shí),系統(tǒng)會(huì)生成相應(yīng) 事件類(lèi) 的對(duì)象,在該對(duì)象中封裝了關(guān)于該事件的各種信息,比如事件發(fā)生的時(shí)間、事件源、事件類(lèi)型等等。作為事件產(chǎn)生者的 事件源 ,其本身并不直接負(fù)責(zé)處理來(lái)自它的事件,而是授權(quán)給特定的 事件監(jiān)聽(tīng)器 對(duì)象來(lái)處理。事件監(jiān)聽(tīng)器時(shí)刻監(jiān)聽(tīng)著事件源上所發(fā)生的事件類(lèi)型,一旦該事件類(lèi)型與自己所負(fù)責(zé)處理的事件類(lèi)型一致,就馬上進(jìn)行處理。 常用事件類(lèi)及其對(duì)應(yīng)的監(jiān)聽(tīng)器 在 事件類(lèi) ,用來(lái)描述各種類(lèi)型的用戶(hù)操作。 Java為每個(gè)事件類(lèi)定義了一個(gè)相應(yīng)的 事件監(jiān)聽(tīng)器接口( listeners interinface),其中聲明了事件處理的 抽象方法 。 事件類(lèi) 描述信息 監(jiān)聽(tīng)器接口 接口中定義的方法 ActionEvent 動(dòng)作事件,例如用鼠標(biāo)單擊命令式按鈕 ActionListener actionPerformed() WindowEvent 窗口上的關(guān)閉按鈕 WindowListener windowClosing(), windowClosed()等 ItemEvent 項(xiàng)目事件,選項(xiàng)或選中狀態(tài)發(fā)生變化 ItemListener itemStateChanged() MouseEvent 鼠標(biāo)單擊等 MouseListener mousePressed(),mouseEnterde() mouseClicked()等 KeyEvent 鍵盤(pán)輸入 KeyListener keyPressed(),keyTyped(),keyReleased() TextEvent 文本發(fā)生改變 TextListener textValueChanged() 使用 Java的委托事件模型進(jìn)行事件處理的一般方法: ? 對(duì)于某種類(lèi)型的事件 XXXEvent,要想接收并處理這類(lèi)事件,必須定義相應(yīng)的事件監(jiān)聽(tīng)器類(lèi),該事件監(jiān)聽(tīng)器類(lèi)必須要實(shí)現(xiàn)與該事件相對(duì)應(yīng)的接口,即 XXXListener; ? 聲明了一個(gè)事件源對(duì)象后,必須為該類(lèi)對(duì)象注冊(cè)相應(yīng)的事件監(jiān)聽(tīng)器,采用addXXXListener( XXXListener)方法來(lái)注冊(cè)。 二、案例 72的中的事件處理的分析 以“專(zhuān)家級(jí)別”組合框的相關(guān)事件處理為例 ? 對(duì)于組合框 JComboBox,當(dāng)改變其中選項(xiàng)或選項(xiàng)發(fā)生改變時(shí),將觸發(fā) 項(xiàng)目事件 ItemEvent,該事件的監(jiān)聽(tīng)器接口為 ItemListener,接口中定義的方法是 itemStateChanged(),當(dāng)ItemEvent事件觸發(fā)時(shí)由事件監(jiān)聽(tīng)器通知去執(zhí)行 itemStateChanged()方法中的語(yǔ)句序列: 二、案例 72的中的事件處理的分析 (new () { public void itemStateChanged( e) { if(()==0) { ()。 for(int i=0。i。i++) (expName1[i])。 ( 20)。 } if(()==1) { ()。 for(int i=0。i。i++) (expName2[i])。 ( 12)。 } } })。 窗口與菜單 案例 73的效果 一、菜單的組成與菜單類(lèi) 菜單的組成 菜單類(lèi) ? 菜單欄類(lèi)( JMenuBar) ? 窗口中用于容納菜單( JMenu)的容器; JFrame類(lèi)提供了setJMenuBar()方法,用來(lái)將菜單欄放置于框架窗口上方。JMenuBar類(lèi)提供的 add()方法用來(lái)在菜單欄上添加菜單,一個(gè)菜單欄可以添加多個(gè)菜單。 ? 菜單類(lèi)( JMenu) ? 是一組菜單項(xiàng)( JMenuItem)的容器或另一個(gè)菜單的容器,每個(gè)菜單有一個(gè)文字標(biāo)題。 JMenu類(lèi)提供的 add()方法用來(lái)在菜單上添加菜單項(xiàng)或另一個(gè)菜單。如果一個(gè)菜單中加入了另一個(gè)菜單,則構(gòu)成了多級(jí)菜單菜單項(xiàng)類(lèi)( JMenuItem) ? 菜單項(xiàng)( JMenuItem) ? 是組成菜單的最小單位。菜單項(xiàng)實(shí)際上可看作另一種形式的按鈕,在菜單項(xiàng)上可以注冊(cè) ActionEvent事件監(jiān)聽(tīng)器,當(dāng)單擊某一菜單項(xiàng)時(shí),執(zhí)行 actionPerformed()方法 。 二、為窗口加入菜單 在窗口中加入菜單的一般步驟: ? 首先將 JMenuBar加入到指定的框架窗口上方,接著將 JMenu加入到菜單欄中,最后將 JMenuItem加入到 JMenu中。 ? 為應(yīng)用程序的窗口添加菜單,既可以采用完全手工編程的方式來(lái)實(shí)現(xiàn),也可以在 Eclipse的可視編程環(huán)境中直接用鼠標(biāo)操作來(lái)完成大部分工作而不需要編寫(xiě)代碼。 ? 要注意的是,不論采用哪里方式, JMenuBar必須添加到框架窗口上,而不能加在窗口的內(nèi)容面板上 三、案例 73的實(shí)現(xiàn) ( 演示 ) 第一步:創(chuàng)建窗口,生成 GUI的軟件框架代碼 啟動(dòng) Eclipse,在項(xiàng)目 proj7中新建一個(gè)基于JFrame的可視化類(lèi) ClinicMenu,將 ClinicMenu窗口的標(biāo)題設(shè)為“兒科門(mén)診醫(yī)生診療操作”,布局設(shè)為 null。 第二步:添加菜單欄、菜單和菜單項(xiàng) ⑴ 在窗口上添加菜單欄 ⑵ 在菜單欄上添加菜單,設(shè)置菜單標(biāo)題 ⑶ 在菜單上添加菜單項(xiàng),設(shè)置菜單項(xiàng)標(biāo)題 依照上述方法和步驟繼續(xù)在菜單欄 jJMenuBar上添加 “診療操作”、“打印”和“幫助”等三個(gè)菜單以及這三個(gè)菜單下所單包含的菜單項(xiàng):即“診療操作”菜單下有“檢查”、“診斷”兩個(gè)菜單項(xiàng),“打印”菜單下有“處方”和“檢查單”兩個(gè)菜單項(xiàng),“幫助”菜單下有“診療操作向?qū)А辈藛雾?xiàng)。 三、案例 73的實(shí)現(xiàn) ( 演示 ) 第二步:添加菜單欄、菜單和菜單項(xiàng) ⑷ 在菜單上添加菜單,實(shí)現(xiàn)多級(jí)菜單 本案例的“ 診療操作” 菜單中設(shè)有一個(gè)多級(jí)菜單“ 開(kāi)處方 ”,該菜單中有“中藥處方”和“ 西藥處方 ”兩個(gè)菜單項(xiàng)。多級(jí)菜單的添加方法如下: ? 首先在 Palette面板中選擇 Swing Menu中 JMenu組件,移動(dòng)鼠標(biāo)到 JavaBeans視圖中的菜單jMenu2上單擊,在彈出的對(duì)話(huà)框中為該菜單對(duì)象取名為 jMenu21,并將其標(biāo)題設(shè)為“開(kāi)處方”,這樣就實(shí)現(xiàn)了在菜單上添加菜單; ? 然后按照前面介紹的方法在剛添加的菜單jMenu21上再添加兩個(gè)菜單項(xiàng) jMenuItem23和jMenuItem24。 三、案例 73的實(shí)現(xiàn) ( 演示 ) 第三步:菜單操作命令的實(shí)現(xiàn) 以單擊 “病人資料”菜單下的“當(dāng)前患者信息”菜單項(xiàng)為例,簡(jiǎn)單介紹菜單項(xiàng)的單擊事件及其處理 ⑴ 新創(chuàng)建一個(gè)基于 JFame類(lèi)的框架窗口 ,類(lèi)名為 PatientInfo,布局設(shè)為 null,對(duì)照右圖在窗口上布局 8個(gè) JLable組件,用于顯示當(dāng)前患者的相關(guān)信息。 三、案例 73的實(shí)現(xiàn) ( 演示 ) 第三步:菜單操作命令的實(shí)現(xiàn) ⑵ 為 ClinicMenu窗口中的 “當(dāng)前患者信息”菜單項(xiàng)jMenuItem1添加單擊事件處理代碼: (new () { public void actionPerformed( e) { PatientInfo curSuf=new PatientInfo()。 //1 (true)。 //2 } })。 代碼說(shuō)明: //1:構(gòu)造一個(gè) PatientInfo類(lèi)的對(duì)象 curSuf,在這里 curSuf實(shí)際上是圖 //2:顯示“當(dāng)前患者信息”窗口 圖形繪制 Java類(lèi)庫(kù)提供了許多表示和操作圖形的類(lèi),其中 繪圖類(lèi) Graphics是圖形處理的基礎(chǔ)。 案例 74的效果 圖形繪制 案例 74的效果 一、 Graphics類(lèi) Graphics類(lèi)是 , 用來(lái)在組件上繪圖 。 通過(guò) Graphics類(lèi)的對(duì)象調(diào)用各種繪圖方法可以繪制直線(xiàn) 、 圓 、 圓弧 、 任意曲線(xiàn)等圖形 。 1. Java的坐標(biāo)系 Java繪圖所使用的坐標(biāo)系與窗口相同,即 坐標(biāo)原點(diǎn) (0,0)位于窗口的左上角,水平方向向右為正,垂直方向向下為正,單位為像素。 一、 Graphics類(lèi) Graphics類(lèi)是 , 用來(lái)在組件上繪圖 。 通過(guò) Graphics類(lèi)的對(duì)象調(diào)用各種繪圖方法可以繪制直線(xiàn) 、 圓 、 圓弧 、 任意曲線(xiàn)等圖形 。 1. Java的坐標(biāo)系 Java繪圖所使用的坐標(biāo)系與窗口相同,即 坐標(biāo)原點(diǎn) (0,0)位于窗口的左上角,水平方向向右為正,垂直方向向下為正,單位為像素。 一、 Graphics類(lèi) Graphics類(lèi)常用繪圖方法 ? void drawLine(int x1,int y1,int x2,int y2):在點(diǎn)(x1,y1)和點(diǎn) (x2,y2)之間繪制一條直線(xiàn) ? void drawRect(int x,int y,int w,int h):繪制左上角位于點(diǎn) (x,y)、寬度和高度分別為 w和 h的一個(gè)矩形 ? void drawOval(int x,int y,int w,int h):在左上角位于點(diǎn) (x,y)、寬度和高度分別為 w和 h的矩形內(nèi)繪制一個(gè)內(nèi)切橢圓 ? void drawString(String str,int x,int y):從點(diǎn) (x,y)處開(kāi)始輸出字符串 str ? void setColor(Color c):設(shè)置繪圖的顏色為 c 二、在組件上繪圖 在 paint()方法,其格式如下: public void paint(Graphics g) ? 前面介紹的 Graphics類(lèi)的各種繪圖方法只能在 paint()方法中使用。 ? 在 paint()方法中通過(guò) Graphics類(lèi)的對(duì)象 g調(diào)用各種繪圖方法就可以在組件上繪制出各種圖形。 三、案例 74的實(shí)現(xiàn) 1. 繪制方法分析 心電圖是由一系列的波組所構(gòu)成,每個(gè)波組代表著一個(gè)心動(dòng)周期。一個(gè)波組主要包括 P波 、QRS波群 、 T波 。 通過(guò)對(duì)一個(gè)簡(jiǎn)化的心搏曲線(xiàn)上若干個(gè)關(guān)鍵點(diǎn)的測(cè)量,以 P波的起點(diǎn) a的坐標(biāo)( x,y)為基準(zhǔn)向右、向上下,分別得到 P波、 QRS波和 T波各波段上若干關(guān)鍵點(diǎn)相對(duì)于 a點(diǎn)的坐標(biāo),將這些坐標(biāo)放到 數(shù)組 中,通過(guò)調(diào)用 Graphics類(lèi)的 drawLine()方法依次畫(huà)線(xiàn)就可以繪制出來(lái)。 三、案例 74的實(shí)現(xiàn) 第一步:創(chuàng)建窗口,生成 GUI的軟件框架代碼 第二步:設(shè)置窗口外觀(guān) 第三步:補(bǔ)充定義若干個(gè)成員變量,重寫(xiě)paint()方法 ⑴ 在 HeartBeatCurve類(lèi)的成員變量定義處定義如下幾個(gè)成員變量,用于描述曲線(xiàn)上的幾個(gè)關(guān)鍵點(diǎn)的坐標(biāo) : 三、案例 74的實(shí)現(xiàn) / / P波起點(diǎn) a的坐標(biāo)定位在 (100,360)處起點(diǎn) int x=100,y=360。 //P波各關(guān)鍵點(diǎn)坐標(biāo) int pr_x[]={ x ,x+20,x+30,x+40,x+45,x+50,x+55,x+60,x+66,x+70}。 int pr_y[]={ y,y14,y20,y23,y24,y23,y22,y19,y10,y}。 //QRS波關(guān)鍵點(diǎn)坐標(biāo) int qrs_x[]={x+70,x+78,x+90,x+92,x+95,x+97,x+100}。終點(diǎn) int qrs_y[]={y,y174,y10,y,y+10,y+8,y}。 //T波關(guān)鍵點(diǎn)坐標(biāo) int t_x[]= {x+100,x+110,x+115,x+130,x+135,x+140,x+145,x+150,x+155,x+158,x+160}。 int t_y[]={y,y6,y10,y22,y27,y30,y31,y28,y20,y10,y}。 一個(gè)周期起點(diǎn)與終點(diǎn)間相差 160像素 終點(diǎn) 起點(diǎn) 三、案例 74的實(shí)現(xiàn) ⑵ 重寫(xiě) paint()方法 public void paint(Graphics g){ (g)。 //調(diào)用父類(lèi)構(gòu)造方法,以便畫(huà)背景 ()。 //設(shè)置繪圖顏色為紅色 for(int c=0。c3。c++) { //繪制 3個(gè)周期, for(int i=0。i。i++) //繪制 P波,兩點(diǎn)間一一畫(huà)直線(xiàn) (pr_x[i]+c*160,pr_y[i],pr_x[i+1]+c*160,pr_y[i+1])。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1