九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

《Java程序設(shè)計與案例》課件第5章 圖形用戶界面

上傳人:ra****d 文檔編號:241625816 上傳時間:2024-07-11 格式:PPT 頁數(shù):107 大小:2.80MB
收藏 版權(quán)申訴 舉報 下載
《Java程序設(shè)計與案例》課件第5章 圖形用戶界面_第1頁
第1頁 / 共107頁
《Java程序設(shè)計與案例》課件第5章 圖形用戶界面_第2頁
第2頁 / 共107頁
《Java程序設(shè)計與案例》課件第5章 圖形用戶界面_第3頁
第3頁 / 共107頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《Java程序設(shè)計與案例》課件第5章 圖形用戶界面》由會員分享,可在線閱讀,更多相關(guān)《《Java程序設(shè)計與案例》課件第5章 圖形用戶界面(107頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、圖形用戶界面設(shè)計15 5主要內(nèi)容4Java的GUI簡介4自定義圖形設(shè)計圖形、文字、圖象4Java的標準組件容器和組件GUI的布局4事件處理25 5圖形用戶界面GUI4字符界面用字符串、命令行的方式與用戶交互4圖形用戶界面:GraphicsUserInterface用直觀的圖形來表示數(shù)據(jù)用直觀、方便的GUI標準組件來接收命令GUI組成成分的標準化使用圖形的方式借助菜單、按鈕等標準界面元素和鼠標操作,來幫助用戶方便地向計算機系統(tǒng)發(fā)出命令,啟動操作,并將系統(tǒng)運行的結(jié)果同樣以圖形的方式顯示給用戶。35 5用戶界面設(shè)計原那么4控制權(quán)在用戶4界面與操作的風(fēng)格一致性4寬容容錯性4簡潔與美觀并重45 5圖形用

2、戶界面簡介4圖形用戶界面的構(gòu)成4容器:布局、安排4標準組件4用戶自定義成分4設(shè)計&實現(xiàn)圖形用戶界面的工作4創(chuàng)立GUI各組成成分,并安排附屬位置關(guān)系,根據(jù)具體需要對其進行排序,構(gòu)成完整外觀。4定義GUI各成分對不同事件的響應(yīng),實現(xiàn)與用戶的交互功能。55 5界面構(gòu)成容器用戶自定義成分v容器是用來組織其他界面成分和元素的單元。一般一個圖形用戶界面對應(yīng)一個復(fù)雜容器。如一窗口v標準組件是圖形用戶界面的最小單位,它里面不再包含其他的成分。如單項選擇按鈕,文本框,菜單v用戶自定義成分是指編程人員根據(jù)用戶需要設(shè)計一些用戶自定義的圖形界面成分。如繪制幾何圖形標準組件65 5界面元素4容器是用來組織其他界面成分和

3、元素的單元。4可以形成容器的層次,構(gòu)筑復(fù)雜結(jié)構(gòu)4WindowFrame、Applet、Dialog4組件是圖形用戶界面的根本單位,它里面不再包含其他的成分。4GUI組件是圖形用戶界面標準化的結(jié)果。常用的組件有:4選擇類的:單項選擇按鈕、復(fù)選按鈕、下拉列表;4文字處理類的:文本框、文本區(qū)域4命令類的:按鈕、菜單等4GUI組件的作用是完成與用戶的交互。包括接收用戶的命令、文本或選擇輸入,向用戶顯示一段文本或一個圖形等。75 5界面元素4使用組件通常需要如下的步驟4創(chuàng)立某組件類的對象,指定其大小等屬性。4使用某種布局策略,將該組件對象參加到某個容器中的某指定位置處。4將該組件對象注冊給它所能產(chǎn)生的事

4、件對應(yīng)的事件監(jiān)聽者,重載事件的處理方法,實現(xiàn)利用該組件對象與用戶交互的功能。4用戶自定義成分4顯示文字、繪制圖形、顯示圖象4不能像標準組件一樣被系統(tǒng)識別和成認,只起裝飾作用。4不能響應(yīng)用戶的動作,不具有交互功能。85 5圖形用戶界面GUI4Java的圖形用戶界面編程:為方便圖形用戶界面的開發(fā),設(shè)計了專門的類庫來生成各種標準圖形界面元素和處理圖形界面的各種事件,這個用來生成圖形界面的類庫就是java.awt包。AWT是abstractwindowtoolkit抽象窗口工具集的縮寫。AWT類庫中的各種操作被定義在一個窗口中進行,開發(fā)人員用AWT開發(fā)出的圖形用戶界面可以適用于所有的平臺系統(tǒng)。95 5

5、AWT包4AbstractWindowToolkit(抽象窗口工具集)4提供各種構(gòu)成GUI的標準構(gòu)件。4AWT類庫中的各種操作被定義在一個窗口中進行的。4抽取不同軟硬件平臺中所實現(xiàn)的窗口的公共特性。4依賴于具體平臺系統(tǒng)實現(xiàn):顯示效果可能不同。4提供與機器無關(guān)的根本GUI標準組件4選擇類組件:單項選擇按鈕、復(fù)選框、下拉選單、4列表框4文字處理類組件:標簽、文本框、編輯框。4命令類組件:按鈕、工具欄、菜單等。105 5從一個簡單窗口開始4創(chuàng)立GUI應(yīng)用程序4Frame必不可少4它是帶標題的頂層窗口,是構(gòu)建應(yīng)用程序圖形界面的根底,它為應(yīng)用程序?qū)崿F(xiàn)人機交互提供了對話窗口4先來建一個空的窗口應(yīng)用:Emp

6、ty.java4注意:一定要處理關(guān)閉窗口的事件115 5import java.awt.*;/mustimporttouseGUI/mustextendsFrameinanapplicationpublicclassEmptyextends Frame/暫時采用1.0.2的事件處理方法,關(guān)閉窗口publicbooleanhandleEvent(Eventevt)/根據(jù)Event類中參數(shù)evt的id值來判斷發(fā)生事件的種類if(evt.id=Event.WINDOW_DESTROY)System.exit(0);/return的返回值表示將余下的事件處理交給handleEvent()的父/類處理,

7、從而保證對事件的正常處理returnsuper.handleEvent(evt);publicstaticvoidmain(Stringargs)Framef=new Empty();f.setSize(300,200);f.setVisible(true);125 5繪制用戶自定義成分4用戶自定義成分屬于構(gòu)成GUI的非標準局部4無法響應(yīng)用戶事件4一般僅僅起背景裝飾、輸出效果突出的作用4Java中的用戶自定義成分4顯示文字4繪制圖形4顯示圖片135 5繪制用戶自定義成分4一般在容器中(窗口)或畫布上繪制。4利用Java.awt類庫中的類及其方法繪制用戶自定義的圖形界面成分。4Graphics類

8、包含很多繪制圖形和文字的方法。4首先要獲得Graphics類的實例,然后利用其方法繪制。4Graphics類的實例一般作為相關(guān)方法的參數(shù)傳遞進來:paint(Graphicsg)4Java程序圖形界面的坐標設(shè)置原點(0,0)X軸Y軸145 5繪制圖形及其相關(guān)方法4drawLine(x1,y1,x2,y2)/直線4drawRect(x,y,w,h)/矩形4drawOval(x,y,w,h)/圓或橢圓4fillOval(x,y,w,h)/實心圓或橢圓4drawPolygon(X坐標數(shù)組,Y坐標數(shù)組,頂點個數(shù))/畫多邊形4drawArc(x,y,w,h,開始角度,弧度角度)4setColor(Col

9、orc)/設(shè)置顏色4setFont(Fontf)/設(shè)置字體4getColor()4getFont()155 5繪制圖形及其相關(guān)方法4從(x1,y1)到(x2,y2)畫直線drawLine(x1,y1,x2,y2)參數(shù)均為int4畫弧線drawArc(x,y,w,h,)參數(shù)均為intx,y為繪制弧形的左上角的坐標;w,h為弧形的寬度和高度;為弧形的起始角,為弧形的弧度,為正,表順時針方向;為負,表逆時針方向。4以(x,y)為左上角、w為寬度、h為高度畫矩形drawRect(x,y,w,h)參數(shù)均為int4fillRect(x,y,w,h)、clearRect(x,y,w,h)165 5繪制圖形及

10、其相關(guān)方法4畫圓或橢圓drawOval(x,y,w,h)x,y為繪制圓或橢圓的左上角的坐標,w,h確定了橢圓的寬度和高度4畫實心圓或橢圓fillOval(x,y,w,h)4畫多邊形drawPolygon(X坐標數(shù)組,Y坐標數(shù)組,頂點個數(shù))P.185175 5繪制圖形及其相關(guān)方法例子:sanmao.java185 5/畫頭部,橢圓方法drawOvalg.setColor(Color.black);/setColor用來設(shè)置要使用的顏色g.drawOval(40,40,120,150);./畫頭發(fā),直線方法drawLine,畫弧方法drawArcg.drawLine(100,10,100,60);

11、g.drawArc(110,20,100,80,90,90);./畫嘴巴,填充畫弧方法fillArcg.fillArc(60,130,80,40,180,180);./畫耳朵,填充橢圓方法fillOval,復(fù)制圖形方法copyAreag.fillOval(25,92,15,30);g.copyArea(25,92,15,30,136,0);/拷貝某區(qū)域的圖形至另一區(qū)域./畫身體,多邊形方法fillPolygong.fillPolygon(polygon_x,polygon_y,polygon_pt_num);195 5顯示文字4字體顯示效果類:Font4一個Font類的對象表示了一種字體顯示效

12、果,包括字體類型、風(fēng)格和字號。4Fontmf=newFont(String字體,int風(fēng)格,int字號);4字體:TimesRoman,Courier,Arial等4風(fēng)格:三個常量4Font.PLAIN,Font.BOLD,Font.ITALIC4字號:字的大小磅數(shù)4設(shè)置當前使用的字體:setFont(Fontfn)4獲取當前使用的字體:getFont()4例:UseFonts.java205 5StringFontName=TimesRoman,Courier,Arial;intFontStyle=Font.PLAIN,Font.BOLD,Font.ITALIC;StringStyleNam

13、e=PLAIN,BOLD,ITALIC;publicvoidpaint(Graphicsg)for(inti=0;i3;i+)for(intj=0;j1)/雙擊時去除向量中各點m_vLocs.removeAllElements();else/單擊時在向量中增加一點m_vLocs.addElement(e.getPoint();repaint();/重新繪制一次classmoveextendsMouseMotionAdapter/鼠標移動監(jiān)聽者類publicvoidmouseMoved(MouseEvente)/響應(yīng)移動m_CursorLoc=newPoint(e.getX(),e.getY()

14、;repaint();/重新繪制一次695 5事件類4ActionEvent類:屬于動作事件,包括:點擊按鈕;雙擊一個列表中的選項;選擇菜單項;在文本框中按回車。最典型的例子是:鼠標點擊按鈕所產(chǎn)生的事件,經(jīng)ActionListener接口觸發(fā)一連串動作,再由actionPerformed()方法完成這些動作。e.getSource()返回事件發(fā)生的對象(名)e.getActionCommand()返回按扭名(動作事件的命令字符串)。4ActionListener接口publicvoidactionPerformed(ActionEvente)705 5圖形用戶界面例importjava.awt

15、.*;import.*;publicclassapublicstaticvoidmain(Stringargs)MyFrameform1=newMyFrame();classMyFrameextendsFrameMyFrame()super(窗口標題);setSize(200,100);setFont(newFont(TimesRoman,Font.BOLD,20);715 5圖形用戶界面例setLayout(newFlowLayout();Buttonb=newButton(close);add(b);b.addActionListener(newBprocess();setVisible(

16、true);classBprocessimplementsActionListenerpublicvoidactionPerformed(ActionEvente)System.exit(0);725 5監(jiān)聽者類4某個類可以兼職也可以專職做這件事實現(xiàn)監(jiān)聽者接口。4一個類假設(shè)實現(xiàn)一個接口,必須實現(xiàn)接口的全部方法。4例如:ActionListener接口只有一個方法:4voidactionPerformed(ActionEvente)4實現(xiàn)接口的類可以是:4一般類4內(nèi)部類4匿名類735 5事件處理有關(guān)問題4有哪些事件類()?4每個事件類的監(jiān)聽者接口?4每個監(jiān)聽者接口規(guī)定的方法?4多方法的監(jiān)聽者接口

17、的適配器實現(xiàn)接口的抽象類是什么?4組件的事件委托注冊方法?745 5窗口事件4關(guān)閉窗口框時引發(fā)WindowEvent事件4委托addWindowListener(newWclose();4定義監(jiān)聽者類classWcloseimplementsWindowListenerpublicvoidwindowClosing(WindowEvente)System.exit(0);4WindowListener類有7個方法,必須都實現(xiàn)4WindowAdapter接收窗口事件的抽象適配器類,用空內(nèi)容實現(xiàn)了WindowListener接口的所有方法4classWcloseextendsWindowAdapt

18、er755 5ActionEvent動作事件4引發(fā)原因:4單擊按扭,雙擊列表框中選項,選擇菜單項,文本框中的回車4事件監(jiān)聽接口:ActionListener4接口方法:4actionPerformed(ActionEvente)4組件注冊該事件方法:4addActionListener(監(jiān)聽者765 5TextEvent文本領(lǐng)件4引發(fā)原因:4文本框或文本區(qū)域內(nèi)容改變4事件監(jiān)聽接口:TextListener4接口方法:4textValueChanged(TextEvente)4組件注冊該事件方法:4addTextListener(監(jiān)聽者775 5ItemEvent選擇事件4引發(fā)原因:4改變列表框

19、中的選中項4改變復(fù)選框選中狀態(tài)4改變下拉選單的選中項4事件監(jiān)聽接口:ItemListener4接口方法:4itemStateChanged(ItemEvente)4組件注冊該事件方法:4addItemListener(監(jiān)聽者785 5AdjustmentEvent調(diào)整事件4引發(fā)原因:4操作滾動條改變滑塊位置4事件監(jiān)聽接口:AdjustmentListener4接口方法:4adjustmentValueChanged(AdjustmentEvente)4組件注冊該事件方法:4addAdjustmentListener(監(jiān)聽者795 5KeyEvent事件4引發(fā)原因:4敲完鍵KEY-TYPED)4

20、按下鍵(KEY-PRESSED)4釋放鍵(KEY-RELEASE)4事件監(jiān)聽接口:KeyListener4接口方法:4keyPressed(KeyEvente)鍵已被按下時調(diào)用4keyReleased(KeyEvente)鍵已被釋放時調(diào)用4keyTyped(KeyEvente)鍵已被敲完時調(diào)用4KeyEvent方法:charch=e.getKeyChar();4事件監(jiān)聽適配器抽象類KeyAdapter4組件注冊該事件方法:4addKeyListener(監(jiān)聽者805 5MouseEvent事件4引發(fā)原因:(鼠標作用在一個組件上)鼠標事件:鼠標鍵按下,鼠標鍵抬起,單擊鼠標,鼠標光標進入一個組件,

21、鼠標光標離開一個組件。鼠標移動事件:鼠標移動,鼠標拖動4鼠標事件監(jiān)聽接口1:MouseListener接受鼠標事件4該接口方法:mouseClicked(MouseEvente)mouseEntered(MouseEvente)鼠標光標進入一個組件mouseExited(MouseEvente)鼠標光標離開一個組件815 5MouseEvent事件續(xù)4鼠標事件監(jiān)聽適配器抽象類MouseAdapter4鼠標事件監(jiān)聽接口2:4MouseMotionListener接受鼠標移動事件4該接口方法:4mouseMoved(MouseEvente)鼠標光標在組件上移動4mouseDragged(Mouse

22、Evente)用鼠標拖動一個組件4鼠標移動事件監(jiān)聽適配器MouseMotionAdapter4組件注冊鼠標事件方法:4addMouseListener(監(jiān)聽者4組件注冊鼠標移動事件方法:4addMouseMotionListener(監(jiān)聽者825 5MouseEvent事件續(xù)4MouseEvent方法e.getClickCount()=1單擊=2雙擊Pointe.getPoint()取鼠標光標位置inte.getX()inte.getY()取鼠標光標位置e.getModifiers()=e.BUTTON1_MASK鼠標左鍵=e.BUTTON3_MASK鼠標右鍵835 5WindowEvent事

23、件4引發(fā)原因:有關(guān)窗口操作引發(fā)的事件4事件監(jiān)聽接口WindowListener4接口方法windowActivated(WindowEvente)激活窗口windowClosed(WindowEvente)調(diào)用dispose方法關(guān)閉窗口后windowClosing(WindowEvente)窗口正在被關(guān)閉(試圖利用窗口關(guān)閉按鈕關(guān)閉窗口)windowDeactivated(WindowEvente)本窗口成為非活動窗口845 5WindowEvent事件(續(xù)windowDeiconified(WindowEvente)窗口從最小化恢復(fù)為普通窗口windowIconified(WindowEven

24、te)窗口變?yōu)樽钚』瘓D標windowOpened(WindowEvente)窗口被翻開成為可見時接口適配器WindowAdapter注冊事件方法addWindowListener855 5FocusEvent事件4引發(fā)原因:組件獲得焦點組件失去焦點4事件監(jiān)聽接口FocusListener4接口方法:focusGained(FocusEvente)組件獲得焦點時調(diào)用focusLost(FocusEvente)組件失去焦點時調(diào)用4接口適配器:FocusAdapter4組件注冊該事件方法:addFocusListener865 5TextEvent事件4引發(fā)原因:4當組件如文本框文本改變時引發(fā)4事件

25、監(jiān)聽接口:TextListener4接口方法:4textValueChanged(TextEvente)4組件注冊該事件方法:4addTextListener875 5ComponentEvent事件4引發(fā)原因:當組件移動、改變大小、改變可見性時引發(fā)4事件監(jiān)聽接口:ComponentListener4接口方法:componentHidden(ComponentEvente)組件隱藏componentMoved(ComponentEvente)組件移動componentResized(ComponentEvente)組件改變大小componentShown(ComponentEvente)組件變

26、為可見4接口適配器ComponentAdapter4組件注冊該事件方法:addComponentListener885 5ContainerEvent事件4引發(fā)原因:4當容器內(nèi)增加或移走組件時引發(fā)4事件監(jiān)聽接口:ContainerListener4接口方法4componentAdded(ContainerEvente)容器內(nèi)參加組件4componentRemoved(ContainerEvente)沉著器中移走4組件4接口適配器ContainerAdapter4容器注冊該事件方法:4addContainerListener895 5GUI標準組件4Label(標簽)4構(gòu)造方法4Labelmyl

27、=newLabel(“標簽內(nèi)容);4Labela=newLabel(“information);4Labela=newLabel(“information,Label.CENTER);4方法4a.setText(“新內(nèi)容);設(shè)置標簽內(nèi)容4Stringa.getText()讀取標簽內(nèi)容4Button(按鈕)4ButtonmyB1=newButton();4ButtonmyB2=newButton(“Cancel);905 5GUI標準組件4Checkbox(檢測盒)4創(chuàng)立時指定檢測盒的標簽4Checkboxcb1=newCheckbox();4Checkboxcb2=newCheckbox(“r

28、egistered);4Checkboxcb3=newCheckbox(“registered,true);4Checkboxcb4=newCheckbox(“registered,true,group);4獲取和設(shè)置檢測盒的狀態(tài)4cb.setState(true);4booleanb=cb.getState();915 5Checkbox組件4構(gòu)造方法Checkbox(Stringlabel)Checkbox(Stringlabel,booleanstate)Checkbox(Stringlabel,booleanstate,CheckboxGroupgroup)4方法:booleanget

29、State()setState(booleanstate)925 5GUI標準組件4CheckboxGroup(單項選擇按鈕組)4單項選擇按鈕組是一組Checkbox的集合,是將一組4Checkbox按扭組成單項選擇按扭組件4首先創(chuàng)立CheckboxGroup,再參加單個按鈕4方法:4CheckboxgetSelectedCheckbox()4取得目前選取的復(fù)選框?qū)ο?setSelectedCheckbox(Checkboxbox)4設(shè)定目前選取的復(fù)選框?qū)ο?35 5CheckboxGroup組件4例:setLayout(newGridLayout(3,1);4CheckboxGroupcbg

30、=newCheckboxGroup();4Checkboxck1=newCheckbox(“one,true,cbg);4Checkboxck2=newCheckbox(“two,false,cbg);4Checkboxck3=newCheckbox(“three,false,cbg);4add(ck1);4add(ck2);4add(ck3);4把CheckboxGroup參加容器時需要把其中的每個復(fù)選按鈕逐個參加到容器中,而不能使用CheckboxGroup對象一次性地參加。945 5TextField行編輯框組件4構(gòu)造方法(String,int)4TextFieldf1=newTextF

31、ield(30);4TextFieldf1=newTextField(“abc,30);4建30個字符寬的行編輯框4方法:4StringgetText()讀文本框內(nèi)容4setText(“abc)設(shè)置編輯框內(nèi)容4setEchoChar(charc)設(shè)置回顯字符4TextComponent方法:4setEditable(false);4selectAll()955 5TextArea組件4構(gòu)造方法(String,int,int)4TextAreat1=newTestArea(10,45);4建10行、45列的文本區(qū)域4TextAreat1=newTestArea(“abc,10,45);4Text

32、Areat1=newTestArea(“abc,10,45,滾動條);4滾動條指定4SCROLLBARS_BOTH4SCROLLBARS_HORIZONTAL_ONLY4SCROLLBARS_VERTICAL_ONLY4SCROLLBARS_NONE4方法4append(Stringstr)追加文本965 5List列表框4首先創(chuàng)立List對象,再調(diào)用add()方法參加List列表的各選項。列表可以實現(xiàn)多項選擇多4構(gòu)造方法4List(introws,booleanmultipleMode)4rows顯示行數(shù);multipleMode是否允許多項選擇4方法:4list1.add(“classA)

33、;4list1.add(“classB);4list1.add(“classC,0);指定參加選項位置975 5List列表框4方法4intgetSelectedIndex()取被選項索引4intgetSelectedIndexes()取被選項索引多項選擇4StringgetSelectedItem()取被選項4StringgetSelectedItems()取被選項多項選擇4voidselect(intindex)選中指定的項4StringgetItem(intindex)按索引號取出該項4intgetItemCount()取出項數(shù)4StringgetItems()取出所有的項4P.2119

34、85 5Choice下拉選單4下拉選單提供了多項選擇一機制,創(chuàng)立下拉選單包括創(chuàng)立下拉選單對象和添加選項兩個步驟4例:4ChoiceColorChooser=newChoice();ColorChooser.add(Green);4ColorChooser.add(Red);4ColorChooser.add(Blue);4StringgetSelectedItem()Green995 5Scrollbar滾動條4構(gòu)造方法4mySlider=newScrollbar(Scrollbar.HORIZONTAL,40,1,0,Integer.MAX_VALUE);4滾動條方向4滑塊初始位置4滑塊尺寸

35、4滾動槽最小值4滾動槽最大值4方法4intgetValue()返回滑塊當前位置4setUnitIncrement(1);設(shè)置單位增量點按兩端箭頭4setBlockIncrement(50);設(shè)置塊增量點按滾動槽1005 5菜單4菜單須依附于一個實現(xiàn)了MenuContainer接口4的對象:Frame4構(gòu)建菜單結(jié)構(gòu):創(chuàng)立菜單的步驟4創(chuàng)立菜單條MenuBar4創(chuàng)立菜單Menu,參加相應(yīng)菜單條4創(chuàng)立菜單項MenuItem,參加相應(yīng)菜單4使菜單條依附于擁有它的對象:setMenuBar()4編寫響應(yīng)菜單操作的代碼(ActionEvent)1015 5菜單4創(chuàng)立菜單條MenuBar)4MenuBarm_

36、MenuBar=newMenuBar();4創(chuàng)立菜單Menu,參加菜單條4MenumenuFile=newMenu(“File);/創(chuàng)立菜單4m_MenuBar.add(menuFile);/將菜單參加菜單條4創(chuàng)立菜單項MenuItem),并參加相應(yīng)菜單4MenuItemf1=newMenuItem(“Open),/創(chuàng)立各菜單項4MenuItemf2=newMenuItem(Close),4menuFile.add(f1);/參加菜單4menuFile.add(f2);4將菜單條放入frame:4myFrame.setMenuBar(m_MenuBar);4編寫響應(yīng)菜單操作的代碼(Action

37、Event)1025 5例:MenuFrame.javaclassMenuFrameextendsFrameLabellb=newLabel(“herecomescommand);/模擬菜單命令MenuBarm_MenuBar=newMenuBar();/創(chuàng)立菜單條MenumenuFile=newMenu(“File);/創(chuàng)立菜單MenuItemfile=newMenuItem(“Open),/創(chuàng)立各菜單項newMenuItem(Close),newMenuItem(Exit);MenuFrame()m_MenuBar.add(menuFile);/把菜單參加菜單條menuFile.add(f

38、ile0);/把各菜單項參加菜單menuFile.add(file1);menuFile.add(file2);setMenuBar(m_MenuBar);/把菜單條參加Frame1035 5setLayout(newFlowLayout();add(lb);/參加Label,用于輸出菜單項命令A(yù)ctionListenerml=newML();for(inti=0;i3;i+)/為每個菜單項注冊監(jiān)聽者filei.addActionListener(ml);/此例多個菜單項/對應(yīng)一個監(jiān)聽者,但實際編程時建議使用一對一結(jié)構(gòu)addWindowListener(newWL();classMLimple

39、mentsActionListener/Action事件監(jiān)聽者類publicvoidactionPerformed(ActionEvente)lb.setText(e.getActionCommand();/輸出菜單命令1045 5文件對話框FileDialog(Frameparent,Stringtitle,intmode)parent對話框所屬窗體title對話框標題mode對話框模式FileDialog.LOAD翻開文件FileDialog.SAVE保存文件1055 5文件對話框classMyFrameextendsFrameMyFramegetMyFrameIns()returnthis;子類方法代碼片段:FileDialogf=newFileDialog(getMyFrameIns(),open,FileDialog.SAVE);f.setVisible(true);Stringfname=f.getDirectory()+f.getFile();ig=getToolkit().getImage(fname);1065 5課后作業(yè)4P276.第10、11、12、13、14題107

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!