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

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

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

  • 資源ID:241625816       資源大?。?span id="24d9guoke414" class="font-tahoma">2.80MB        全文頁數(shù):107頁
  • 資源格式: PPT        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

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

圖形用戶界面設(shè)計15 5主要內(nèi)容4Java的GUI簡介4自定義圖形設(shè)計圖形、文字、圖象4Java的標(biāo)準(zhǔn)組件容器和組件GUI的布局4事件處理25 5圖形用戶界面GUI4字符界面用字符串、命令行的方式與用戶交互4圖形用戶界面:GraphicsUserInterface用直觀的圖形來表示數(shù)據(jù)用直觀、方便的GUI標(biāo)準(zhǔn)組件來接收命令GUI組成成分的標(biāo)準(zhǔn)化使用圖形的方式借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,來幫助用戶方便地向計算機(jī)系統(tǒng)發(fā)出命令,啟動操作,并將系統(tǒng)運行的結(jié)果同樣以圖形的方式顯示給用戶。35 5用戶界面設(shè)計原那么4控制權(quán)在用戶4界面與操作的風(fēng)格一致性4寬容容錯性4簡潔與美觀并重45 5圖形用戶界面簡介4圖形用戶界面的構(gòu)成4容器:布局、安排4標(biāo)準(zhǔn)組件4用戶自定義成分4設(shè)計&實現(xiàn)圖形用戶界面的工作4創(chuàng)立GUI各組成成分,并安排附屬位置關(guān)系,根據(jù)具體需要對其進(jìn)行排序,構(gòu)成完整外觀。4定義GUI各成分對不同事件的響應(yīng),實現(xiàn)與用戶的交互功能。55 5界面構(gòu)成容器用戶自定義成分v容器是用來組織其他界面成分和元素的單元。一般一個圖形用戶界面對應(yīng)一個復(fù)雜容器。如一窗口v標(biāo)準(zhǔn)組件是圖形用戶界面的最小單位,它里面不再包含其他的成分。如單項選擇按鈕,文本框,菜單v用戶自定義成分是指編程人員根據(jù)用戶需要設(shè)計一些用戶自定義的圖形界面成分。如繪制幾何圖形標(biāo)準(zhǔn)組件65 5界面元素4容器是用來組織其他界面成分和元素的單元。4可以形成容器的層次,構(gòu)筑復(fù)雜結(jié)構(gòu)4WindowFrame、Applet、Dialog4組件是圖形用戶界面的根本單位,它里面不再包含其他的成分。4GUI組件是圖形用戶界面標(biāo)準(zhǔn)化的結(jié)果。常用的組件有:4選擇類的:單項選擇按鈕、復(fù)選按鈕、下拉列表;4文字處理類的:文本框、文本區(qū)域4命令類的:按鈕、菜單等4GUI組件的作用是完成與用戶的交互。包括接收用戶的命令、文本或選擇輸入,向用戶顯示一段文本或一個圖形等。75 5界面元素4使用組件通常需要如下的步驟4創(chuàng)立某組件類的對象,指定其大小等屬性。4使用某種布局策略,將該組件對象參加到某個容器中的某指定位置處。4將該組件對象注冊給它所能產(chǎn)生的事件對應(yīng)的事件監(jiān)聽者,重載事件的處理方法,實現(xiàn)利用該組件對象與用戶交互的功能。4用戶自定義成分4顯示文字、繪制圖形、顯示圖象4不能像標(biāo)準(zhǔn)組件一樣被系統(tǒng)識別和成認(rèn),只起裝飾作用。4不能響應(yīng)用戶的動作,不具有交互功能。85 5圖形用戶界面GUI4Java的圖形用戶界面編程:為方便圖形用戶界面的開發(fā),設(shè)計了專門的類庫來生成各種標(biāo)準(zhǔn)圖形界面元素和處理圖形界面的各種事件,這個用來生成圖形界面的類庫就是java.awt包。AWT是abstractwindowtoolkit抽象窗口工具集的縮寫。AWT類庫中的各種操作被定義在一個窗口中進(jìn)行,開發(fā)人員用AWT開發(fā)出的圖形用戶界面可以適用于所有的平臺系統(tǒng)。95 5AWT包4AbstractWindowToolkit(抽象窗口工具集)4提供各種構(gòu)成GUI的標(biāo)準(zhǔn)構(gòu)件。4AWT類庫中的各種操作被定義在一個窗口中進(jìn)行的。4抽取不同軟硬件平臺中所實現(xiàn)的窗口的公共特性。4依賴于具體平臺系統(tǒng)實現(xiàn):顯示效果可能不同。4提供與機(jī)器無關(guān)的根本GUI標(biāo)準(zhǔn)組件4選擇類組件:單項選擇按鈕、復(fù)選框、下拉選單、4列表框4文字處理類組件:標(biāo)簽、文本框、編輯框。4命令類組件:按鈕、工具欄、菜單等。105 5從一個簡單窗口開始4創(chuàng)立GUI應(yīng)用程序4Frame必不可少4它是帶標(biāo)題的頂層窗口,是構(gòu)建應(yīng)用程序圖形界面的根底,它為應(yīng)用程序?qū)崿F(xiàn)人機(jī)交互提供了對話窗口4先來建一個空的窗口應(yīng)用:Empty.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()的父/類處理,從而保證對事件的正常處理returnsuper.handleEvent(evt);publicstaticvoidmain(Stringargs)Framef=new Empty();f.setSize(300,200);f.setVisible(true);125 5繪制用戶自定義成分4用戶自定義成分屬于構(gòu)成GUI的非標(biāo)準(zhǔn)局部4無法響應(yīng)用戶事件4一般僅僅起背景裝飾、輸出效果突出的作用4Java中的用戶自定義成分4顯示文字4繪制圖形4顯示圖片135 5繪制用戶自定義成分4一般在容器中(窗口)或畫布上繪制。4利用Java.awt類庫中的類及其方法繪制用戶自定義的圖形界面成分。4Graphics類包含很多繪制圖形和文字的方法。4首先要獲得Graphics類的實例,然后利用其方法繪制。4Graphics類的實例一般作為相關(guān)方法的參數(shù)傳遞進(jìn)來:paint(Graphicsg)4Java程序圖形界面的坐標(biāo)設(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坐標(biāo)數(shù)組,Y坐標(biāo)數(shù)組,頂點個數(shù))/畫多邊形4drawArc(x,y,w,h,開始角度,弧度角度)4setColor(Colorc)/設(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為繪制弧形的左上角的坐標(biāo);w,h為弧形的寬度和高度;為弧形的起始角,為弧形的弧度,為正,表順時針方向;為負(fù),表逆時針方向。4以(x,y)為左上角、w為寬度、h為高度畫矩形drawRect(x,y,w,h)參數(shù)均為int4fillRect(x,y,w,h)、clearRect(x,y,w,h)165 5繪制圖形及其相關(guān)方法4畫圓或橢圓drawOval(x,y,w,h)x,y為繪制圓或橢圓的左上角的坐標(biāo),w,h確定了橢圓的寬度和高度4畫實心圓或橢圓fillOval(x,y,w,h)4畫多邊形drawPolygon(X坐標(biāo)數(shù)組,Y坐標(biāo)數(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);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類的對象表示了一種字體顯示效果,包括字體類型、風(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è)置當(dāng)前使用的字體:setFont(Fontfn)4獲取當(dāng)前使用的字體:getFont()4例:UseFonts.java205 5StringFontName=TimesRoman,Courier,Arial;intFontStyle=Font.PLAIN,Font.BOLD,Font.ITALIC;StringStyleName=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/鼠標(biāo)移動監(jiān)聽者類publicvoidmouseMoved(MouseEvente)/響應(yīng)移動m_CursorLoc=newPoint(e.getX(),e.getY();repaint();/重新繪制一次695 5事件類4ActionEvent類:屬于動作事件,包括:點擊按鈕;雙擊一個列表中的選項;選擇菜單項;在文本框中按回車。最典型的例子是:鼠標(biāo)點擊按鈕所產(chǎn)生的事件,經(jīng)ActionListener接口觸發(fā)一連串動作,再由actionPerformed()方法完成這些動作。e.getSource()返回事件發(fā)生的對象(名)e.getActionCommand()返回按扭名(動作事件的命令字符串)。4ActionListener接口publicvoidactionPerformed(ActionEvente)705 5圖形用戶界面例importjava.awt.*;import.*;publicclassapublicstaticvoidmain(Stringargs)MyFrameform1=newMyFrame();classMyFrameextendsFrameMyFrame()super(窗口標(biāo)題);setSize(200,100);setFont(newFont(TimesRoman,Font.BOLD,20);715 5圖形用戶界面例setLayout(newFlowLayout();Buttonb=newButton(close);add(b);b.addActionListener(newBprocess();setVisible(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)聽者接口的適配器實現(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接口的所有方法4classWcloseextendsWindowAdapter755 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改變列表框中的選中項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按下鍵(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ā)原因:(鼠標(biāo)作用在一個組件上)鼠標(biāo)事件:鼠標(biāo)鍵按下,鼠標(biāo)鍵抬起,單擊鼠標(biāo),鼠標(biāo)光標(biāo)進(jìn)入一個組件,鼠標(biāo)光標(biāo)離開一個組件。鼠標(biāo)移動事件:鼠標(biāo)移動,鼠標(biāo)拖動4鼠標(biāo)事件監(jiān)聽接口1:MouseListener接受鼠標(biāo)事件4該接口方法:mouseClicked(MouseEvente)mouseEntered(MouseEvente)鼠標(biāo)光標(biāo)進(jìn)入一個組件mouseExited(MouseEvente)鼠標(biāo)光標(biāo)離開一個組件815 5MouseEvent事件續(xù)4鼠標(biāo)事件監(jiān)聽適配器抽象類MouseAdapter4鼠標(biāo)事件監(jiān)聽接口2:4MouseMotionListener接受鼠標(biāo)移動事件4該接口方法:4mouseMoved(MouseEvente)鼠標(biāo)光標(biāo)在組件上移動4mouseDragged(MouseEvente)用鼠標(biāo)拖動一個組件4鼠標(biāo)移動事件監(jiān)聽適配器MouseMotionAdapter4組件注冊鼠標(biāo)事件方法:4addMouseListener(監(jiān)聽者4組件注冊鼠標(biāo)移動事件方法:4addMouseMotionListener(監(jiān)聽者825 5MouseEvent事件續(xù)4MouseEvent方法e.getClickCount()=1單擊=2雙擊Pointe.getPoint()取鼠標(biāo)光標(biāo)位置inte.getX()inte.getY()取鼠標(biāo)光標(biāo)位置e.getModifiers()=e.BUTTON1_MASK鼠標(biāo)左鍵=e.BUTTON3_MASK鼠標(biāo)右鍵835 5WindowEvent事件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(WindowEvente)窗口變?yōu)樽钚』瘓D標(biāo)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當(dāng)組件如文本框文本改變時引發(fā)4事件監(jiān)聽接口:TextListener4接口方法:4textValueChanged(TextEvente)4組件注冊該事件方法:4addTextListener875 5ComponentEvent事件4引發(fā)原因:當(dāng)組件移動、改變大小、改變可見性時引發(fā)4事件監(jiān)聽接口:ComponentListener4接口方法:componentHidden(ComponentEvente)組件隱藏componentMoved(ComponentEvente)組件移動componentResized(ComponentEvente)組件改變大小componentShown(ComponentEvente)組件變?yōu)榭梢?接口適配器ComponentAdapter4組件注冊該事件方法:addComponentListener885 5ContainerEvent事件4引發(fā)原因:4當(dāng)容器內(nèi)增加或移走組件時引發(fā)4事件監(jiān)聽接口:ContainerListener4接口方法4componentAdded(ContainerEvente)容器內(nèi)參加組件4componentRemoved(ContainerEvente)沉著器中移走4組件4接口適配器ContainerAdapter4容器注冊該事件方法:4addContainerListener895 5GUI標(biāo)準(zhǔn)組件4Label(標(biāo)簽)4構(gòu)造方法4Labelmyl=newLabel(“標(biāo)簽內(nèi)容);4Labela=newLabel(“information);4Labela=newLabel(“information,Label.CENTER);4方法4a.setText(“新內(nèi)容);設(shè)置標(biāo)簽內(nèi)容4Stringa.getText()讀取標(biāo)簽內(nèi)容4Button(按鈕)4ButtonmyB1=newButton();4ButtonmyB2=newButton(“Cancel);905 5GUI標(biāo)準(zhǔn)組件4Checkbox(檢測盒)4創(chuàng)立時指定檢測盒的標(biāo)簽4Checkboxcb1=newCheckbox();4Checkboxcb2=newCheckbox(“registered);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方法:booleangetState()setState(booleanstate)925 5GUI標(biāo)準(zhǔn)組件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=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=newTextField(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);4TextAreat1=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);4list1.add(“classB);4list1.add(“classC,0);指定參加選項位置975 5List列表框4方法4intgetSelectedIndex()取被選項索引4intgetSelectedIndexes()取被選項索引多項選擇4StringgetSelectedItem()取被選項4StringgetSelectedItems()取被選項多項選擇4voidselect(intindex)選中指定的項4StringgetItem(intindex)按索引號取出該項4intgetItemCount()取出項數(shù)4StringgetItems()取出所有的項4P.211985 5Choice下拉選單4下拉選單提供了多項選擇一機(jī)制,創(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滑塊尺寸4滾動槽最小值4滾動槽最大值4方法4intgetValue()返回滑塊當(dāng)前位置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_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)菜單操作的代碼(ActionEvent)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(file0);/把各菜單項參加菜單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();classMLimplementsActionListener/Action事件監(jiān)聽者類publicvoidactionPerformed(ActionEvente)lb.setText(e.getActionCommand();/輸出菜單命令1045 5文件對話框FileDialog(Frameparent,Stringtitle,intmode)parent對話框所屬窗體title對話框標(biāo)題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

注意事項

本文(《Java程序設(shè)計與案例》課件第5章 圖形用戶界面)為本站會員(ra****d)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(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)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!