版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java 2實(shí)用教程課件(第3版第7章)第章第章AWT組件及事件處理組件及事件處理 l7.1Java窗口窗口l7.2文本框文本框l7.3內(nèi)部類實(shí)例做監(jiān)視器內(nèi)部類實(shí)例做監(jiān)視器l7.4按鈕與標(biāo)簽按鈕與標(biāo)簽l7.5菜單項(xiàng)菜單項(xiàng)l7.6文本區(qū)文本區(qū)l7.7面板面板l7.8布局布局l7.9畫布畫布l7.10 選擇型組件選擇型組件l7.11 Component類的常用方法類的常用方法l7.12 窗口事件窗口事件l7.13 鼠標(biāo)事件鼠標(biāo)事件l7.14 焦點(diǎn)事件焦點(diǎn)事件l7.15 鍵盤事件鍵盤事件l7.16 使用剪貼板使用剪貼板l7.17 打印打印l7.18 綜合實(shí)例綜合實(shí)例 Java 2實(shí)用教程課件(第3版
2、第7章)圖形用戶界面圖形用戶界面l通過圖形用戶界面(GUI:Graphics User Interface),用戶和程序之間可以方便地進(jìn)行交互。Java的抽象窗口工具包(AWT:Abstract Window Toolkit)中包含了許多類來支持GUI設(shè)計(jì)。AWT由Java的java.awt包提供,該包中有許多用來設(shè)計(jì)GUI的組件類,如:按鈕、菜單、列表、文本框等組件類,同時(shí)它還包含窗口、面板等容器類。Java 2實(shí)用教程課件(第3版第7章)容器類容器類(Container)和組件類和組件類(Component) lJava.awt包中一部分類的層次關(guān)系如圖所示 Java 2實(shí)用教程課件(第3
3、版第7章)7.1 Java窗口窗口lFrame類是Container類的間接子類。當(dāng)需要一個(gè)窗口時(shí),可使用Frame或其子類創(chuàng)建一個(gè)對象。窗口也是一個(gè)容器,可以向窗口添加組件。需要注意的是,窗口默認(rèn)地被系統(tǒng)添加到顯示器屏幕上,因此,不允許將一個(gè)窗口添加到另一個(gè)容器中。 Java 2實(shí)用教程課件(第3版第7章)1. Frame常用方法l1Frame() 該構(gòu)造方法可以創(chuàng)建一個(gè)無標(biāo)題的窗口,窗口的默認(rèn)布局為BorderLayout布局。l2Frame(String s) 該構(gòu)造方法可以創(chuàng)建一個(gè)標(biāo)題為s的窗口,窗口的默認(rèn)布局為BorderLayout布局。l3public void setBound
4、s(int a,int b,int width,int height) 窗口調(diào)用該方法可以設(shè)置出現(xiàn)在屏幕上時(shí)的初始位置是(a,b),即距屏幕左面a個(gè)像素、距屏幕上方b個(gè)像素;窗口的寬是width,高是height。l4public void setSize(int width,int height) 設(shè)置窗口的大小,窗口在屏幕出現(xiàn)是默認(rèn)位置是(0,0)。l5public void setVisible(boolean b) 設(shè)置窗口是可見還是不可見,窗口默認(rèn)是不可見的。l6public void setResizable(boolean b) 設(shè)置窗口是否可調(diào)整大小,窗口默認(rèn)是可調(diào)整大小的。J
5、ava 2實(shí)用教程課件(第3版第7章)2.菜單條、菜單、菜單項(xiàng)菜單條、菜單、菜單項(xiàng) ljava.awt包中的Menubar類是負(fù)責(zé)創(chuàng)建菜單條的,即Menubar的一個(gè)實(shí)例就是一個(gè)菜單條。Frame類有一個(gè)將菜單條放置到窗口中的方法:setMenuBar(MenuBar bar);ljava.awt包中的Menu類是負(fù)責(zé)創(chuàng)建菜單的,即Menu的一個(gè)實(shí)例就是一個(gè)菜單 ljava.awt包的MunuItem類負(fù)責(zé)創(chuàng)建菜單項(xiàng),即MenuItem的一個(gè)實(shí)例就是一個(gè)菜單項(xiàng) Java 2實(shí)用教程課件(第3版第7章)7.3 文本框文本框ljava.awt包中的類TextField類創(chuàng)建文本框l用戶可以在文本框
6、輸入單行的文本 Java 2實(shí)用教程課件(第3版第7章).TextField類的主要方法類的主要方法 lTextField(int x) 如果使用這個(gè)構(gòu)造方法創(chuàng)建文本框?qū)ο?,文本框中的可見字符序列的長度為 x個(gè)機(jī)器字符長。文本框是可編輯的,用戶可以在文本框中輸入若干個(gè)字符。lTextField(String s ) 如果使用這個(gè)構(gòu)造方法創(chuàng)建文本框?qū)ο?,則文本框的初始字符串為s。文本框是可編輯的,可以在文本框中輸入若干個(gè)字符。lpublic void setText(String s) 文本框?qū)ο笳{(diào)用該方法可以設(shè)置文本框中的文本為參數(shù)s指定的文本,文本框中先前的文本將被清除。lpublic St
7、ring getText() 文本框?qū)ο笳{(diào)用該方法可以獲取文本框中的文本。lpublic void addActionListener(ActionListener l) 文本框?qū)ο笳{(diào)用該方法可以向文本框增加動(dòng)作監(jiān)視器(將監(jiān)視器注冊到文本框)。Java 2實(shí)用教程課件(第3版第7章)2.文本框上的文本框上的ActionEvent事件事件 l學(xué)習(xí)組件除了了解組件的屬性和功能外,一個(gè)更重要的方面是學(xué)習(xí)怎樣處理組件上發(fā)生的界面事件。 l在學(xué)習(xí)處理事件時(shí),必須很好地掌握事件源、監(jiān)視器、處理事件的接口這三個(gè)概念。 l通過處理文本框這個(gè)具體的組件上的事件,來掌握處理事件的基本原理。 Java 2實(shí)用教程課
8、件(第3版第7章)Java的事件處理模式的事件處理模式l事件源能夠產(chǎn)生事件的對象都可以成為事件源,如文本框、按鈕、下拉式列表等。也就是說,事件源必須是一個(gè)對象,而且這個(gè)對象必須是Java認(rèn)為能夠發(fā)生事件的對象。l監(jiān)視器需要一個(gè)對象對事件源進(jìn)行監(jiān)視,以便對發(fā)生的事件作出處理。事件源通過調(diào)用相應(yīng)的方法將某個(gè)對象作為自己的監(jiān)視器。例如,對于文本框,這個(gè)方法是:addActionListener(監(jiān)視器);創(chuàng)建該監(jiān)視器對象的類必須聲明實(shí)現(xiàn)相應(yīng)的接口創(chuàng)建該監(jiān)視器對象的類必須聲明實(shí)現(xiàn)相應(yīng)的接口 l處理事件的接口在文本框獲得輸入焦點(diǎn)之后,如果用戶按回鍵,Java運(yùn)行系統(tǒng)就自動(dòng)用ActionEvent類創(chuàng)建了
9、一個(gè)對象,即發(fā)生了ActionEvent事件 當(dāng)事件源發(fā)生事件時(shí),監(jiān)視器就自動(dòng)調(diào)用執(zhí)行被類實(shí)現(xiàn)的某個(gè)接口方法 Java 2實(shí)用教程課件(第3版第7章)處理事件示意圖處理事件示意圖 Java 2實(shí)用教程課件(第3版第7章)7.4按鈕與標(biāo)簽按鈕與標(biāo)簽l標(biāo)簽的功能是只顯示文本,不能動(dòng)態(tài)地編輯文本。Lalel類的實(shí)例就是一個(gè)標(biāo)簽.lJava.awt包中的Button類是專門用來建立按鈕的。即Button類創(chuàng)建的一個(gè)對象就是一個(gè)按鈕。l按鈕可以發(fā)生ActionEvent事件,當(dāng)按鈕獲得監(jiān)視器之后,用鼠標(biāo)單擊按鈕,就發(fā)生ActionEven事件. Java 2實(shí)用教程課件(第3版第7章)7.5菜單項(xiàng)菜單項(xiàng)
10、l單擊某個(gè)菜單項(xiàng)可以發(fā)生ActionEvent事件,因此,我們可以通過處理ActionEvent事件實(shí)現(xiàn)我們想要進(jìn)行的操作。 l可以使用MenuShotcut類為菜單項(xiàng)設(shè)置快捷鍵,該類的一個(gè)構(gòu)造方法是: MenuShotcut (int key); 其中key可以取值:KeyEvent.VK_A KeyEvent.VK_Z; l菜單項(xiàng)使用setShortcut(MenuShortcut k)方法來設(shè)置快捷鍵。 Java 2實(shí)用教程課件(第3版第7章)7.6文本區(qū)文本區(qū)ljava.awt包中的類TextArea類是專門用來建立文本區(qū)的,即TextArea創(chuàng)建的一個(gè)對象稱做一個(gè)文本區(qū)。用戶可以在文
11、本區(qū)輸入多行的文本。 Java 2實(shí)用教程課件(第3版第7章)1. TextArea類主要方法類主要方法 lTextArea(int x,int y) 使用這個(gè)構(gòu)造方法創(chuàng)建文本區(qū)對象,文本框可見行數(shù)和列數(shù)數(shù)分別為x和y。文本區(qū)有水平和垂直滾動(dòng)條。lpublic void setText(String s) 文本區(qū)對象調(diào)用該方法可以將文本區(qū)中的文本設(shè)置為參數(shù)s指定的文本,文本區(qū)中先前的文本將被清除。lpublic String getText() 文本區(qū)對象調(diào)用該方法可以獲取文本區(qū)中的文本。lpublic void append(String s) 文本區(qū)對象調(diào)用該方法可以在文本區(qū)中尾加文本 .
12、laddTextListener(TextListener) 文本區(qū)對象調(diào)用該方法可以向文本框增加文本監(jiān)視器。Java 2實(shí)用教程課件(第3版第7章).文本區(qū)上的文本區(qū)上的TextEvent事件事件 l對于文本區(qū)事件源,可以發(fā)生TextEvent事件。當(dāng)文本區(qū)獲得監(jiān)視器之后,在文本區(qū)域中改變文本的內(nèi)容,如鍵入字符、刪除字符時(shí),TextEvent類將自動(dòng)創(chuàng)建一個(gè)事件對象。l發(fā)生TextEvent事件的事件源獲得監(jiān)視器的方法是addTextListener(監(jiān)視器);, 由于文本區(qū)可以發(fā)生TextEvent事件,所以TextArea類提供了addTextListener方法。l處理發(fā)生TextEv
13、ent 事件的接口是TextListener,該接口中只有一個(gè)的方法: textValueChanged (TextEvent e)l創(chuàng)建文本區(qū)監(jiān)視器的類必須要實(shí)現(xiàn)TextListener接口。當(dāng)文本區(qū)發(fā)生TextEvent事件時(shí),監(jiān)視器將自動(dòng)調(diào)用方法: textValueChanged (TextEvent e) 對發(fā)生的事件作出處理。 Java 2實(shí)用教程課件(第3版第7章)7.7面板面板ljava.awt包的Panel類是Container(容器)的子類,因此Panel類及其子類的實(shí)例也是一個(gè)容器,Panel型容器的默認(rèn)布局是FlowLayout型布局。Panel類創(chuàng)建的對象稱做面板,我
14、們經(jīng)常在一個(gè)面板里添加若干個(gè)組件后,再把面板放到另一個(gè)容器里。ljava.awt包中的ScrollPane類也是Container類的子類,因此該類創(chuàng)建的對象也是一個(gè)容器,稱為滾動(dòng)面板。我們可以把一個(gè)組件放到一個(gè)滾動(dòng)面板中,然后通過滾動(dòng)條來觀察這個(gè)組件。與Panel創(chuàng)建的容器所不同的是,ScrollPane帶有滾動(dòng)條,而且只能向滾動(dòng)面板添加一個(gè)組件。 Java 2實(shí)用教程課件(第3版第7章)7.8布局布局l當(dāng)把組件添加到容器中時(shí),希望控制組件在容器中的位置,這就需要學(xué)習(xí)布局設(shè)計(jì)的知識。我們將分別介紹java.awt包中的FlowLayout、BorderLayout、CardLayout、Gr
15、idLayout布局類和java.swing.border包中的BoxLayout布局類。l容器可以使用方法: setLayout(布局對象); 來設(shè)置自己的布局。Java 2實(shí)用教程課件(第3版第7章)1. FlowLayout布局布局 lFlowLayout類創(chuàng)建的對象稱做FlowLayout型布局。FlowLayout型布局是Panel型容器的默認(rèn)布局,即Panel及其子類創(chuàng)建的容器對象,如果不專門為其指定布局,則它們的布局就是FlowLayout型布局。l如果一個(gè)容器使用這個(gè)FlowLayout型布局,組件按照加入的先后順序從左向右排列,一行排滿之后就轉(zhuǎn)到下一行繼續(xù)從左至右排列 . J
16、ava 2實(shí)用教程課件(第3版第7章)2. BorderLayout布局布局 lBorderLayout 布局是Window型容器的默認(rèn)布局,例如Frame、Dialog都是Window類的子類,它們的默認(rèn)布局都是BorderLayout 布局。 l如果一個(gè)容器使用這種布局,那么容器空間簡單地劃分為東、西、南、北、中五個(gè)區(qū)域,中間的區(qū)域最大。Java 2實(shí)用教程課件(第3版第7章)3. CardLayout 布局布局 l使用CardLayout 的容器可以容納多個(gè)組件,但是實(shí)際上同一時(shí)刻容器只能從這些組件中選出一個(gè)來顯示,就像一疊“撲克牌”每次只能顯示最上面一張一樣,這個(gè)被顯示的組件將占據(jù)所有
17、的容器空間,依次排序。 Java 2實(shí)用教程課件(第3版第7章)4. GridLayout布局布局 lGridLayout的布局策略是把容器劃分成若干行乘若干列的網(wǎng)格區(qū)域,組件就位于這些劃分出來的小格中。GridLayout比較靈活,劃分多少網(wǎng)格由程序自由控制,而且組件定位也比較精確l由于GridLayout布局中每個(gè)網(wǎng)格都是相同大小并且強(qiáng)制組件與網(wǎng)格的大小相同,使得容器中的每個(gè)組件也都是相同的大小,顯得很不自然。為了克服這個(gè)缺點(diǎn),你可以使用容器嵌套。 Java 2實(shí)用教程課件(第3版第7章). BoxLayout布局布局 l盒式布局的容器將組件排列在一行或一列,這取決于創(chuàng)建盒式布局對象時(shí),是
18、否指定了是行排列還是列排列。 l使用行(列)型盒式布局的容器將組件排列在一行(列),組件按加入的先后順序從左(上)向右(下)排列,容器的兩端是剩余的空間。和FlowLayou布局不同的是,使用行型盒式布局的容器只有一行(列),即使組件再多,也不會(huì)延伸到下一行(列),這些組件可能會(huì)被縮小大小,緊縮在這一行(列)中。Java 2實(shí)用教程課件(第3版第7章)7.9畫布畫布 ljava.awt包中的類Canvas負(fù)責(zé)創(chuàng)建畫布對象。創(chuàng)建畫布對象的常用辦法是用Canvas的子類來創(chuàng)建畫布對象,并在子類中重寫父類的public void paint(Graphics g)方法。該方法是Component類的
19、一個(gè)方法,可以在其子類中重寫這個(gè)方法,當(dāng)重寫這個(gè)方法時(shí),參數(shù)g是自動(dòng)實(shí)例化的,這樣我們就可以在子類中使用 g調(diào)用相應(yīng)方法,比如畫串、畫圖形、圖像等 .Java 2實(shí)用教程課件(第3版第7章)7.5選擇型組件選擇型組件l選擇框選擇框 選擇框提供兩種狀態(tài),一種是選中,另一種是未選中。java.awt包中的Checkbox用來建立選擇框,即Checkbox創(chuàng)建的一個(gè)對象就是一個(gè)選擇框。l選擇框可以發(fā)生ItemEvent事件,發(fā)生ItemEvent事件的事件源獲得監(jiān)視器的方法是:addItemListener(監(jiān)視器) .l創(chuàng)建監(jiān)視器的類必須實(shí)現(xiàn)ItemListener接口,該接口中只有一個(gè)的方法。當(dāng)
20、在選擇框發(fā)生ItemEvent事件時(shí),監(jiān)視器將自動(dòng)調(diào)用接口方法: temStateChanged(ItemEvent e) 對發(fā)生的事件作出處理。 Java 2實(shí)用教程課件(第3版第7章)l下拉列表下拉列表 Choice創(chuàng)建的一個(gè)對象稱作一個(gè)下拉列表組件,它是用戶十分熟悉的一個(gè)組件。用戶可以在下拉列表看到第一個(gè)選項(xiàng)和它旁邊的箭頭按鈕,當(dāng)用戶單擊箭頭按鈕時(shí),選項(xiàng)列表打開。 l下拉式列表可以發(fā)生ItemEvent事件。當(dāng)下拉式列表獲得監(jiān)視器之后,用戶在下拉列表選項(xiàng)列表中選中某個(gè)選項(xiàng)時(shí)就發(fā)生ItemEvent事件. Java 2實(shí)用教程課件(第3版第7章)l滾動(dòng)列表滾動(dòng)列表 java.awt包中的類
21、List類建立滾動(dòng)列表 .l滾動(dòng)列表和下拉列表的另一不同之處是,滾動(dòng)列表除了可以發(fā)生ItemEvent事件外,還可以發(fā)生ActionEvent事件。當(dāng)用鼠標(biāo)單擊滾動(dòng)列表的某個(gè)選項(xiàng)后,發(fā)生ItemEvent事件;當(dāng)用鼠標(biāo)雙擊某個(gè)選項(xiàng)后,發(fā)生ActionEvent事件。 Java 2實(shí)用教程課件(第3版第7章)7.11 Component類的常用方法類的常用方法lComponent類是所有組件的父類,這一節(jié)介紹Component類的常用方法 Java 2實(shí)用教程課件(第3版第7章)1.組件的顏色組件的顏色 lpublic void setBackground(Color c) 設(shè)置組件的背景色。l
22、public void setForeground(Color c) 設(shè)置組件的前景色。lpublic Color getBackground() 獲取組件的背景色。lpublic Color getForeground() 獲取組件的前景色。 Java 2實(shí)用教程課件(第3版第7章)2組件的字體組件的字體lpublic void setFont(Font f) 組件調(diào)用該方法設(shè)置組件上的字體。例如,文本組件調(diào)用該方法可以設(shè)置文本組件中的字體。lpublic Font getFont() 組件調(diào)用該方法獲取組件上的字體。Java 2實(shí)用教程課件(第3版第7章)3組件的大小與位置組件的大小與位置
23、lpublic void setSize(int width,int height) 組件調(diào)用該方法設(shè)置組件的大小,參數(shù)width指定組件的寬度,height指定組件的高度。lpublic void setLocation(int x,int y) 組件調(diào)用該方法設(shè)置組件在容器中的位置,包含該組件的容器都有默認(rèn)的坐標(biāo)系,容器的坐標(biāo)系的左上角的坐標(biāo)是(0,0),參數(shù)x,y指定該組件的左上角在容器的坐標(biāo)系中的坐標(biāo),即組件距容器的左邊界 x個(gè)像素,距容器的上邊界 y 個(gè)像素。lpublic Dimension getSize() 組件調(diào)用該方法返回一個(gè)Dimension對象的引用,該對像實(shí)體中含有名
24、字是width 和height的成員變量,方法返回的Dimension 對象的width的值就是組件的寬度、height的值就是當(dāng)前組件的高度。lpublic Point getLocation() 組件調(diào)用該方法返回一個(gè)Point對象的引用,該對像實(shí)體中含有名字是x 和y的成員變量,方法返回的Point對象的x,y的值就是組件的左上角在容器的坐標(biāo)系中的x坐標(biāo)和y坐標(biāo)。lpublic void setBounds(int x,int y,int width,int height) 組件調(diào)用該方法設(shè)置組件在容器中的位置和組件的大小。該方法相當(dāng)于setSize方法和setLocation方法的組合
25、。lpublic Rectangle getBounds() 組件調(diào)用該方法返回一個(gè)Rectangle對象的引用,該對象實(shí)體中含有名字是x、y、width 和height的成員變量,方法返回的Rectangle對象的x,y的值就是組件的左上角在容器的坐標(biāo)系中的x坐標(biāo)和y坐標(biāo),width和height的值就是當(dāng)前組件的寬度和高度。Java 2實(shí)用教程課件(第3版第7章)4組件的激活與可見性組件的激活與可見性lpublic void setEnabled(boolean b) 組件調(diào)用該方法可以設(shè)置組件是否可被激活,當(dāng)參數(shù)b取值true時(shí),組件可以被激活,當(dāng)參數(shù)b取值false 時(shí),組件不可激活。
26、默認(rèn)情況下,組件是可以被激活的。lpublic void setVisible(boolean) 設(shè)置組件在該容器中的可見性,當(dāng)參數(shù)b取值true時(shí),組件在容器中可見,當(dāng)參數(shù)b取值false 時(shí),組件在容器中不可見。除了Window型組件外,其它類型組件默認(rèn)是可見的。Java 2實(shí)用教程課件(第3版第7章)5組件上的光標(biāo)組件上的光標(biāo)lpublic void setCursor(Cursor c) 設(shè)置鼠標(biāo)指向組件時(shí)的光標(biāo)形狀。 l可以使用 Cursor類的類方法直接獲得一個(gè)光標(biāo)對象,例如:Cursor c=Cursor.getPredefinedCursor(Cursor.HAND_CURSO
27、R);Java 2實(shí)用教程課件(第3版第7章)6paint方法與方法與repaint方法方法l調(diào)用repaint()方法時(shí),repaint()方法會(huì)再去調(diào)用update(Graphics g)方法。update(Graphics g)方法也是Component類中的一個(gè)方法,這個(gè)方法的功能是:清除paint()方法以前所畫的內(nèi)容,然后再調(diào)用paint方法。因此我們可以在子類中重寫update方法(即隱藏父類的方法),根據(jù)需要來清除哪些部分或保留哪些部分。Java 2實(shí)用教程課件(第3版第7章)7.12窗口事件窗口事件lFrame是Window的子類,凡是 Window子類創(chuàng)建的對象都可以發(fā)生W
28、indowEvent類型事件,即窗口事件。l當(dāng)一個(gè)Frame窗口被激活、撤消激活、打開、關(guān)閉、圖標(biāo)化或撤消圖標(biāo)化時(shí),就引發(fā)了窗口事件,即WindowEvent創(chuàng)建一個(gè)窗口事件對象。WindowEvent創(chuàng)建的事件對象調(diào)用getWindow()方法可以獲取發(fā)生窗口事件的窗口。窗口使用addWindowlistener方法獲得監(jiān)視器,創(chuàng)建監(jiān)視器對象的類必須實(shí)現(xiàn)WindowListener接口,該接口中有7個(gè)不同的方法 .Java 2實(shí)用教程課件(第3版第7章). WindowListener接口中的方接口中的方法法lpublic void windowActivated(WindowEvent e
29、) 當(dāng)窗口從非激活狀態(tài)到激活時(shí),窗口的監(jiān)視器調(diào)用該方法。lpublic void windowDeactivated(WindowEvent e) 當(dāng)窗口激活狀態(tài)到非激活狀態(tài)時(shí),窗口的監(jiān)視器調(diào)用該方法。lpublic void windowClosing(WindowEvent e) 當(dāng)窗口正在被關(guān)閉時(shí),窗口的監(jiān)視器調(diào)用該方法。lpublic void windowClosed(WindowEvent e) 當(dāng)窗口關(guān)閉后,窗口的監(jiān)視器調(diào)用該方法。lpublic void windowIconified(WindowEvent e) 當(dāng)窗口圖標(biāo)化時(shí),窗口的監(jiān)視器調(diào)用該方法。lpublic voi
30、d windowDeiconified(WindowEvent e) 當(dāng)窗口撤消圖標(biāo)化時(shí),窗口的監(jiān)視器調(diào)用該方法。lpublic void windowOpened(WindowEvent e) 當(dāng)窗口打開時(shí),窗口的監(jiān)視器調(diào)用該方法。Java 2實(shí)用教程課件(第3版第7章)2. WindowAdapter適配器適配器 l適配器可以代替接口來處理事件,當(dāng)Java提供處理事件的接口中多于一個(gè)方法時(shí),Java相應(yīng)地就提供一個(gè)適配器類,比如WindowAdapter類。適配器已經(jīng)實(shí)現(xiàn)了相應(yīng)的接口,例如WindowAdapter類實(shí)現(xiàn)了WindowListener接口。因此,可以使用WindowAdap
31、te的子類創(chuàng)建的對象做監(jiān)視器,在子類中重寫所需要的接口方法即可 Java 2實(shí)用教程課件(第3版第7章)7.13鼠標(biāo)事件鼠標(biāo)事件 l任何組件上都可以發(fā)生鼠標(biāo)事件,如:鼠標(biāo)進(jìn)入組件、退出組件、在組件上方單擊鼠標(biāo)、拖動(dòng)鼠標(biāo)等都觸發(fā)組件發(fā)生鼠標(biāo)事件,也就是說,組件可以成為發(fā)生鼠標(biāo)事件的事件源。Java 2實(shí)用教程課件(第3版第7章)1.MouseListener接口接口 l使用MouseListener接口可以處理5種操作觸發(fā)的鼠標(biāo)事件:(1)在事件源上按下鼠標(biāo)鍵。(2)在事件源上釋放鼠標(biāo)鍵。(3)在事件源上擊鼠標(biāo)鍵。(4)鼠標(biāo)進(jìn)入事件源。(5)鼠標(biāo)退出事件源。l鼠標(biāo)事件的類型是MouseEvent
32、,即當(dāng)發(fā)生鼠標(biāo)事件時(shí),MouseEvent類自動(dòng)創(chuàng)建一個(gè)事件對象。 Java 2實(shí)用教程課件(第3版第7章)MouseListener接口中的方法接口中的方法 l(1)mousePressed(MouseEvent) 負(fù)責(zé)處理在組件上按下鼠標(biāo)觸發(fā)的鼠標(biāo)事件,當(dāng)在組件上按下鼠標(biāo)時(shí),監(jiān)視器將自動(dòng)調(diào)用接口中的這個(gè)方法對事件作出處理。l(2)mouseReleased(MouseEvent) 負(fù)責(zé)處理在組件上釋放鼠標(biāo)觸發(fā)的鼠標(biāo)事件,當(dāng)在組件上釋放鼠標(biāo)時(shí),監(jiān)視器將自動(dòng)調(diào)用接口中的這個(gè)方法對事件作出處理。l(3)mouseEntered(MouseEvent) 負(fù)責(zé)處理鼠進(jìn)入組件觸發(fā)的鼠標(biāo)事件,當(dāng)鼠標(biāo)進(jìn)入組件上方時(shí),監(jiān)視器將自動(dòng)調(diào)用接口中的這個(gè)方法對事件作出處理。l(4)mouseExited(MouseEvent) 負(fù)責(zé)處理鼠標(biāo)離開組件觸發(fā)的鼠標(biāo)事件,當(dāng)鼠標(biāo)離開組件時(shí),監(jiān)視器自動(dòng)調(diào)用接口中的這個(gè)方法對事件作出處理。l(5)mouseClicked(MouseEvent) 負(fù)責(zé)處理在組件上單擊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)通關(guān)提分題庫及完整答案
- 2024年度年福建省高校教師資格證之高等教育學(xué)模擬預(yù)測參考題庫及答案
- 五年級數(shù)學(xué)(小數(shù)乘法)計(jì)算題專項(xiàng)練習(xí)及答案匯編
- 2024年化工技術(shù)研發(fā)人員勞務(wù)協(xié)議
- 品創(chuàng)業(yè)案例分析
- 2024混凝土施工承攬協(xié)議樣本
- 清明節(jié)主題班會(huì)課件
- 2024年房屋建筑施工協(xié)議樣本
- 彩鋼建筑租賃協(xié)議格式2024年
- 2024民間資金出借協(xié)議簡明
- 新國標(biāo)充電CAN協(xié)議解析
- 危險(xiǎn)化學(xué)品安全生產(chǎn)基礎(chǔ)知識指導(dǎo)培訓(xùn)
- 水電機(jī)組的運(yùn)行穩(wěn)定性及水輪機(jī)轉(zhuǎn)輪裂紋
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)流圖
- 螺旋箍筋長度計(jì)算公式
- HSE培訓(xùn)矩陣(共79張)
- 民辦幼兒園成本核算表
- 第八章_噪聲控制技術(shù)——隔聲
- 國旗下校長關(guān)于誠信考試的講話稿
- 急性胰腺炎ppt課件
- 廣告設(shè)計(jì)制作框架合同協(xié)議書范本詳細(xì)版
評論
0/150
提交評論