創(chuàng)建JFrame窗口 內(nèi)容_第1頁
創(chuàng)建JFrame窗口 內(nèi)容_第2頁
創(chuàng)建JFrame窗口 內(nèi)容_第3頁
創(chuàng)建JFrame窗口 內(nèi)容_第4頁
創(chuàng)建JFrame窗口 內(nèi)容_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

創(chuàng)建JFrame窗口一.復(fù)習(xí)提問,引入新課:復(fù)習(xí)提問流程控制的知識(shí)點(diǎn),再引入JavaGUI、Swing、JFrame等相關(guān)內(nèi)容。二.新課教學(xué):1.1創(chuàng)建JFrame窗口【1】創(chuàng)建用戶登錄窗口【任務(wù)描述】創(chuàng)建1個(gè)用戶登錄窗口,具體要求如下:(1)設(shè)置窗口風(fēng)格為Windows風(fēng)格。(2)設(shè)置窗口標(biāo)題為“用戶登錄”。(3)設(shè)置窗口大小的寬度為300,高度為150。(4)設(shè)置窗口圖標(biāo)為QQ1.gif。(5)控制窗口位于屏幕中心位置。(6)控制窗口移到最前。(7)設(shè)置窗口可見。(8)設(shè)置關(guān)閉行為:當(dāng)窗口關(guān)閉時(shí),隱藏并處理該窗口【任務(wù)實(shí)現(xiàn)】在NetBeans集成開發(fā)環(huán)境中創(chuàng)建項(xiàng)目Unit04,在項(xiàng)目Unit04中創(chuàng)建類Java4_l,在該類中輸入程序代碼。程序運(yùn)行】程序Java4_1.java的運(yùn)行結(jié)果如圖1所示圖1程序Java4_1.java的運(yùn)行結(jié)果1.2在JFrame窗口中添加組件【任務(wù)2】在用戶登錄窗口中添加JLabel組件【任務(wù)描述】創(chuàng)建1個(gè)用戶登錄窗口,創(chuàng)建1個(gè)標(biāo)簽對(duì)象,將標(biāo)簽添加到窗口容器中。【任務(wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_2,在該類中輸入程序代碼?!救蝿?wù)2】的程序代碼importjava.awt.Container;importjavax.swing.*;publicclassJava4_2extendsJFrame{JLabellblUserName;publicJava4_2(){this.setTitle("用戶登錄”); //設(shè)置窗口標(biāo)題lblUserName=newJLabel("用戶名”);//創(chuàng)建標(biāo)簽對(duì)象ContainerobjContainer=this.getContentPane();//獲取窗口容器objContainer.add(lblUserName);//將標(biāo)簽添加到窗口容器中this.setSize(300,150);//設(shè)置窗口大小this.setVisible(true); //設(shè)置窗口可見}publicstaticvoidmain(String[]args){newJava4_2();}}【程序運(yùn)行】程序Java4_2.java的運(yùn)行結(jié)果如圖2所示。圖2程序Java4_2.java的運(yùn)行結(jié)果1.3合理布局容器中的組件【任務(wù)3】運(yùn)用手工布局方式布局用戶登錄窗口中的組件【任務(wù)描述】創(chuàng)建1個(gè)用戶登錄窗口,在該窗口容器中添加4個(gè)標(biāo)簽對(duì)象、1個(gè)文本字段組件、1個(gè)口令字段組件和2個(gè)按鈕組件,運(yùn)用手工布局方式布局窗口中的組件和設(shè)置組件的大小?!局R(shí)必備】Java為了實(shí)現(xiàn)跨平臺(tái)的特性并且獲得動(dòng)態(tài)的布局效果,將容器內(nèi)所有組件安排給一個(gè)“布局管理器”負(fù)責(zé)管理,將組件的排列順序、大小、位置等功能授權(quán)給對(duì)應(yīng)的容器布局管理器來管理。(1)流式布局(FlowLayou)使用流式布局時(shí),組件從左上角開始,按從左到右、從上到下的方式排列。這種布局方式在默認(rèn)情況下,組件居中,間隙為5像素,它是面板和Applet的默認(rèn)布局方式。(2)邊界布局(BorderLayout)使用邊界布局時(shí),組件被置于容器的東、南、西、北、中的位置這種布局方式是JFrame容器、JWindow窗口和JDialog對(duì)話框等對(duì)象的默認(rèn)布局方式。(3)網(wǎng)格布局(GridLayout)使用網(wǎng)格布局時(shí),將容器區(qū)域劃分為一個(gè)矩形網(wǎng)格,組件按行和列排列。當(dāng)所有的組件大小相同時(shí),可以使用網(wǎng)格布局。網(wǎng)格布局以行為基準(zhǔn),按行優(yōu)先順序排列,在組件數(shù)目多時(shí)自動(dòng)擴(kuò)展列,在組件數(shù)目少時(shí)自動(dòng)收縮列,行數(shù)始終不變。(4)卡片布局(CardLayout)使用卡片布局時(shí),組件像卡片一樣排列,多個(gè)組件擁有同一個(gè)顯示區(qū)域,但同一時(shí)刻只能顯示一個(gè)組件。(5)網(wǎng)格袋布局(GridBagLayout)網(wǎng)格袋布局與網(wǎng)格布局類似,也在網(wǎng)格中定位組件,不同的是,它不顯式規(guī)定網(wǎng)格中的行數(shù)和列數(shù),而是根據(jù)它布局的組件的約束條件確定行數(shù)和列數(shù),并且允許組件跨越多個(gè)網(wǎng)格單元?!救蝿?wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_3,在該類中輸入程序代碼?!境绦蜻\(yùn)行】程序Java4_3.java的運(yùn)行結(jié)果如圖4所示。圖4程序Java4_3.java的運(yùn)行結(jié)果1.4事件監(jiān)聽與使用對(duì)話框【任務(wù)4】響應(yīng)動(dòng)作事件與使用對(duì)話框【任務(wù)描述】參考程序Java4_3_2.java創(chuàng)建了1個(gè)用戶登錄窗口Java4_4,該窗體類繼承自JFrame,實(shí)現(xiàn)ActionListener監(jiān)聽接口。在窗體類的構(gòu)造方法中注冊(cè)【取消】按鈕btnCancel的動(dòng)作事件監(jiān)聽者為當(dāng)前對(duì)象。編寫動(dòng)作事件處理方法actionPerformed()的程序代碼響應(yīng)用戶的單擊,代碼中使用對(duì)話框輸出提示信息?!局R(shí)必備】1.動(dòng)作事件Java處理事件涉及幾個(gè)重要的概念:事件源、監(jiān)聽者、事件接口。事件源能夠產(chǎn)生事件的對(duì)象稱為事件源,例如按鈕、文本框、菜單等,鼠標(biāo)或鍵盤在事件源上操作將產(chǎn)生事件,不同的事件源會(huì)產(chǎn)生不同的事件,例如單擊按鈕將產(chǎn)生動(dòng)作事件(ActionEvent),打開窗口將產(chǎn)生窗口事件(WindowEvent)。(2)監(jiān)聽者實(shí)現(xiàn)事件響應(yīng)的關(guān)鍵是一旦產(chǎn)生事件,監(jiān)聽者必須自動(dòng)執(zhí)行響應(yīng)程序。監(jiān)聽者是指對(duì)事件進(jìn)行監(jiān)聽,以便對(duì)發(fā)生的事件進(jìn)行處理的對(duì)象。事件源通過調(diào)用相應(yīng)的方法將某個(gè)對(duì)象注冊(cè)為監(jiān)聽者。每個(gè)事件源都有注冊(cè)事件監(jiān)聽者的方法,例如,通過調(diào)用如下方法為按鈕類JButton注冊(cè)動(dòng)作事件監(jiān)聽者:按鈕變量名.addActionListener(監(jiān)聽者);(3)事件接口事件接口規(guī)定了監(jiān)聽者需要實(shí)現(xiàn)的用于處理事件的方法。一個(gè)類的對(duì)象如果能作為監(jiān)聽者,那么該類必須實(shí)現(xiàn)相應(yīng)的事件接口,即必須在類體中給出該接口中所有方法的方法體。動(dòng)作事件的接口為ActionListener,該接口中只有一個(gè)方法:publicvoidactionPerformed(ActionEvente),該方法就是響應(yīng)單擊按鈕事件的方法。2.鼠標(biāo)事件鼠標(biāo)動(dòng)作所引起的事件稱為鼠標(biāo)事件。鼠標(biāo)事件的事件源一般為容器。當(dāng)鼠標(biāo)按下、釋放、單擊、進(jìn)來、離開、移動(dòng)、拖動(dòng)時(shí)會(huì)引發(fā)鼠標(biāo)事件(MouseEvent類),MouseEvent類存于java.awt.event包中??梢酝ㄟ^實(shí)現(xiàn)java.awt.event包中的MouseListener接口和MouseMotionListener接口處理鼠標(biāo)事件。3.事件適配器Java中提供了MouseAdapter類(鼠標(biāo)適配器)和MouseMotionAdapter類(鼠標(biāo)移動(dòng)適配器)來處理鼠標(biāo)事件,MouseAdapter類實(shí)現(xiàn)了MouseListener接口,MouseMotionAdapter類實(shí)現(xiàn)了MouseMotionListener接口,這些類稱為適配器(Adapter)類。適配器類覆蓋了接口中的所有方法,但方法體都為空{(diào)},這樣,通過繼承適配器類實(shí)現(xiàn)事件響應(yīng)就不必實(shí)現(xiàn)接口中的所有方法了,只需重寫需要的方法,無關(guān)方法不用實(shí)現(xiàn)。事件適配器為我們提供了一種簡單的實(shí)現(xiàn)監(jiān)聽器的手段,可以適當(dāng)減少程序代碼的編寫量?!救蝿?wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_4,在該類中輸入程序代碼?!境绦蜻\(yùn)行】程序Java4_4.java的運(yùn)行結(jié)果如圖7所示。圖7程序Java4_4.java的運(yùn)行結(jié)果單擊【取消】按鈕,會(huì)彈出如圖8所示的【提示信息】對(duì)話框單擊【是】將退出登錄,且關(guān)閉登錄窗口。圖8【提示信息】對(duì)話框1.5在JFrame窗體中創(chuàng)建與使用菜單【任務(wù)5】為記事本窗體添加菜單【任務(wù)描述】創(chuàng)建1個(gè)【我的記事本】窗口。在【我的記事本】窗口中添加1個(gè)菜單欄JMenuBar,在菜單欄容器中添加4個(gè)菜單JMenu:【文件】、【編輯】、【格式】和【幫助】。在【文件】菜單中添加4個(gè)菜單項(xiàng)JMenuItem和1根分隔線,在【編輯】菜單中添加5個(gè)菜單項(xiàng)和1根分隔線,在【格式】菜單中添加1個(gè)復(fù)選框菜單項(xiàng),在【幫助】菜單中添加1個(gè)菜單項(xiàng)。設(shè)置好各個(gè)菜單和菜單項(xiàng)的熱鍵。設(shè)置好菜單項(xiàng)的快捷鍵。注冊(cè)【退出】菜單項(xiàng)的動(dòng)作事件監(jiān)聽者為當(dāng)前對(duì)象。編寫動(dòng)作事件處理方法actionPerformed()的程序代碼響應(yīng)用戶的單擊。【知識(shí)必備】菜單組件可以使窗口顯示菜單選項(xiàng)。Swing提供了3個(gè)層次的菜單類,最上層的菜單欄JMenuBar是存放菜單的容器。第2層為菜單JMenu,可以直接添加到JMenuBar中創(chuàng)建頂層菜單,也可以作為其他

JMenu菜單的子菜單。第3層的JMenuItem為菜單項(xiàng),JCheckBoxMenuItem為帶復(fù)選框的菜單項(xiàng),JRadioButtonMenuItem為帶單選按鈕的菜單項(xiàng)。創(chuàng)建菜單時(shí)首先要使用JMenuBar建立一個(gè)菜單欄,然后使用JMenu建立菜單,每個(gè)菜單再使用JMenuItem建立菜單項(xiàng)?!救蝿?wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_5,在該類中輸入程序代碼?!境绦蜻\(yùn)行】程序Java4_5.java的運(yùn)行結(jié)果如圖9所示。圖9程序Java4_5.java的運(yùn)行結(jié)果在【我的記事本】窗口單擊【文件】菜單彈出的下拉菜單如圖10所示,單擊【格式】菜單彈出的下拉菜單如圖11所示。新建但}Ctrl-h新建但}Ctrl-h打刑且}Ctrl-O另存對(duì)輕}Ctrl-S退出兇Ctrl-E格式幫助(出自動(dòng)換行{翌)圖10菜單彈出的下拉菜單圖11菜單彈出的下拉菜單單擊【文件】菜單的【退出】命令,即可退出【我的記事本】。1?6在JFrame窗體中創(chuàng)建與使用快捷菜單【任務(wù)6】為記事本窗體添加快捷菜單【任務(wù)描述】(1) 創(chuàng)建1個(gè)【我的記事本】窗口。(2) 在【我的記事本】窗口中添加1個(gè)快捷菜單欄JPopupMenu,在快捷菜單欄容器中添加1個(gè)菜單JMenu【文件】、3個(gè)單選按鈕菜單項(xiàng)和1個(gè)菜單項(xiàng),【文件】菜單包含3個(gè)下級(jí)菜單項(xiàng)。(3) 設(shè)置好菜單項(xiàng)的快捷鍵。(4) 注冊(cè)快捷菜單中【退出】菜單項(xiàng)的動(dòng)作事件監(jiān)聽者為當(dāng)前對(duì)象。編寫動(dòng)作事件處理方法actionPerformed()的程序代碼響應(yīng)用戶的單擊。(5) 繼承適配器MouseAdapter創(chuàng)建內(nèi)部類,擴(kuò)展MouseAdapter類,用來響應(yīng)鼠標(biāo)事件彈出快捷菜單?!局R(shí)必備】JPopupMenu快捷菜單是一種特別形式的Menu,其性質(zhì)與Menu基本一致,但是JPopupMenu并不固定在窗口中的固定位置,而是由鼠標(biāo)和系統(tǒng)判斷決定其位置。JPopupMenu的構(gòu)造方法如下所示。JPopupMenu();JPopupMenu(Stringtext);其中參數(shù)text用于指定彈出快捷菜單的文本內(nèi)容。彈出式快捷菜單一般通過鼠標(biāo)事件實(shí)現(xiàn),示例代碼如下所示。publicvoidmouseReleased(MouseEvente){if(e.isPopupTrigger()){popupMenu.show(e.getComponent(),e.getX(),e.getY());}}【任務(wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_6,在該類中輸入程序代碼?!境绦蜻\(yùn)行】程序Java4_6.java的運(yùn)行成功后,先調(diào)整多行文本框的尺寸,使其進(jìn)入編輯狀態(tài),在多行文本框中單擊鼠標(biāo)右鍵,然后在彈出的快捷菜單中選擇【復(fù)制】單選按鈕。再一次在多行文本框中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中指向【文件】級(jí)聯(lián)菜單項(xiàng)【新建】,如圖12所示。ffi 我的記事本 -口^9玄:件{F} ?新建{町 Ctrl-M?境制(C)cni-c打JF(O}Ciil-OO剪切{T}3i-x另存對(duì)(罰Orl-SO粘貼{P}cni-v退出圖12程序Java4_6.java的運(yùn)行結(jié)果1.7在JFrame窗體中創(chuàng)建與使用工具欄【任務(wù)7】為記事本窗體添加工具欄【任務(wù)描述】(1)創(chuàng)建1個(gè)【我的記事本】窗口。在【我的記事本】窗口中添加1個(gè)工具欄JToolBar,在工具欄容器中添加6個(gè)按鈕JButton:【新建】、【打開】、【保存】、【復(fù)制】、【剪切】、【粘貼】和【退出】、2根分隔線。要求鼠標(biāo)移到按鈕上時(shí)出現(xiàn)邊框.注冊(cè)工具欄按鈕【新建】和【退出】的動(dòng)作事件監(jiān)聽者為當(dāng)前對(duì)象。編寫動(dòng)作事件處理方法actionPerformed()的程序代碼響應(yīng)用戶的單擊?!局R(shí)必備】使用JToolBar類創(chuàng)建一個(gè)工具欄對(duì)象,然后使用add()方法將按鈕添加到工具欄中即可。JToolBar類的構(gòu)造方法如下所示。JToolBar();JToolBar(Stringtext);JToolBar(intorientation);JToolBar(Stringtext,intorientation);其中參數(shù)text用于設(shè)置工具按鈕的文本內(nèi)容,參數(shù)orientation用于設(shè)置工具按鈕的位置?!救蝿?wù)實(shí)現(xiàn)】在項(xiàng)目Unit04中創(chuàng)建類Java4_7,在該類中輸入程序代碼?!境绦蜻\(yùn)行】

運(yùn)行程序Java4_7.java,先調(diào)整多行文本框的尺寸,使其進(jìn)入編輯狀態(tài),將鼠標(biāo)指針指向工具按鈕顯示對(duì)應(yīng)的提示信息,這里指向【新建】按鈕也,顯示“新建文件”的提示信息,如圖13所示。圖13程序Java4_7.java的運(yùn)行結(jié)果單擊工具欄中的【新建】按鈕□,在多行文本框中添加“新建一個(gè)文件”的文本內(nèi)容,如圖14所示。單擊工具欄中的【退出】按鈕則會(huì)關(guān)閉“我的記事本”,退出程序運(yùn)行狀態(tài)。圖14在多行文本框中添加“新建一個(gè)文件”的文本內(nèi)容1.8在可視化環(huán)境中設(shè)計(jì)窗口與添加組件【任務(wù)8】可視化設(shè)計(jì)用戶登錄程序任務(wù)描述】在NetBeansIDE可視化設(shè)計(jì)環(huán)境中創(chuàng)建如圖15所示的【用戶登錄】窗口,在“用戶名”文本字段域中輸入正確的用戶名,在“密碼”口令字段域中輸入正確的密碼,然后單擊【登錄】按鈕則會(huì)彈出“成功登錄系統(tǒng)”的提示信息對(duì)話框,否則會(huì)彈出“用戶名有誤”或者“密碼不正確”的提示信息對(duì)話框。單擊【取消】按鈕會(huì)彈出一個(gè)供用戶做出選擇的對(duì)話框。圖15【用戶登錄】窗口【知識(shí)必備】1.初識(shí)包包是類和接口的集合,或者說包是類和接口的容器,它將一組類或接口集中到一起,在物理上包被轉(zhuǎn)換成一個(gè)文件夾,包中還可以再有包,形成一種層次結(jié)構(gòu)。2.使用package創(chuàng)建包創(chuàng)建包就是將類與接口放入指定的包中,創(chuàng)建包通過在類和接口的源文件中使用package語句實(shí)現(xiàn)。聲明包的語句格式如下所示。package包名稱1[.包名稱2…];例如:packagepackage4_8;3.Java中常用的包Java本身提供了以下幾個(gè)常用的包:(1) java..lang包。(2) java.io包。(3) java.nio包。(4) java.util包。(5) 包。(7) java.awt。(8) java.awt.event。(9) java.applet。(10) javax.servlet。4.使用import導(dǎo)入包中的類(1) 從包中導(dǎo)入指定類的語法格式如下:import包名稱.類名例如:importjava.util.Calendar;包名稱對(duì)應(yīng)于文件夾名稱,類名稱指明所要導(dǎo)入的類,包名稱可以包含多個(gè)層次,形式如“父包名稱1.子包名稱2”所示。(2) 從包中導(dǎo)入該包全部類的語法格式如下:import包名稱.*例如:importjavax.swing.*;“*”表示引入該包中的所有類、接口和異常等?!救蝿?wù)實(shí)現(xiàn)】1.在NetBeans集成開發(fā)環(huán)境中創(chuàng)建Java包在NetBeans集成開發(fā)環(huán)境的【項(xiàng)目】窗口中右鍵單擊Java項(xiàng)目Unit04,在彈出的快捷菜單中選擇【新建】一【Java包…】命令。彈出【NewJava包】對(duì)話框,在該對(duì)話框的“包名”文本框中輸入包的名稱,這里輸入“package4_8”,然后單擊【完成】按鈕即可完成包的創(chuàng)建。創(chuàng)建JFrame窗體Java4_8在Java應(yīng)用程序項(xiàng)目Unit04中右鍵單擊包名稱“package4_8”,在彈出的快捷菜單中指向【新建】,然后單擊菜單命令【JFrame窗體】。彈出【NewJFrame窗體】對(duì)話框,在該對(duì)話框中“類名”文本框輸入“Java4_8”,如圖19所示。然后單擊【完成】按鈕,完成JFrame窗體Java4_8的創(chuàng)建。在JFrame窗體Java4_8中添加必要的組件NetBeans集成開發(fā)環(huán)境中的【組件面板】如圖20所示。

圖20NetBeansIDE集成開發(fā)環(huán)境中的【組件面板】在【組件面板】中單擊選擇合適的組件,然后將鼠標(biāo)指針移到窗體中,在需要添加組件的位置單擊即可。按此方法添加多個(gè)組件,且調(diào)整各個(gè)組件的位置。窗體的設(shè)計(jì)外觀如圖15所示,窗體中組件的屬性設(shè)置如表13所示。表13JFrame窗體Java4_8中組件的屬性設(shè)置組件類型屬性名稱屬性值屬性名稱屬性值JLabel變量名稱lblUserNametext用戶名變量名稱lblPasswordtext密碼變量名稱lbllmageiconlogin.gifJTextField變量名稱jtfUserNametextadminJPasswordField變量名稱jpfPasswordtext123456JButton變量名稱btnLogintext登錄變量名稱btnCanceltext取消4.編寫程序代碼,實(shí)現(xiàn)程序功能打開Java應(yīng)用程序“Java4_8.java”,切換到“源”,可以發(fā)現(xiàn)自動(dòng)添加了一行代碼“packagepackage4_8;",表示程序所屬的包。(1)引入命名空間importjavax.swing.*;importjava.awt.*;(2)編寫構(gòu)造方法Java4_8的程序代碼構(gòu)造方法Java4_8的程序代碼,其中語句,initComponents();”是創(chuàng)建JFrame窗體時(shí)系統(tǒng)自動(dòng)生成的。程序代碼publicJava4_8(){initComponents();//控制窗口啟動(dòng)時(shí)在屏幕中的位置DimensionthisScreen=Toolkit.getDefaultToolkit().getScreenSize();DimensionthisWin=this.getSize();this.setLocation((thisScreen.width-thisWin.width)/2,(thisScreen.height-thisWin.height)/2);}(3)編寫事件過程btnLoginActionPerformed的程序代碼在窗口的設(shè)計(jì)狀態(tài),雙擊【登錄】按鈕,切換到【源】窗口,進(jìn)入事件過程btnLoginActionPerformed的編輯區(qū)域,此時(shí)【源】窗口會(huì)顯示源代碼編輯工具欄。接著在事件過程btnLoginActionPerformed內(nèi)部輸入程序代碼,其主要功能是實(shí)現(xiàn)用戶登錄功能。在NetBeansIDE集成開發(fā)環(huán)境中的【屬性】窗口,切換到“事件”選項(xiàng)卡,如圖23所示。圖23【屬性】窗口的“事件”選項(xiàng)卡(4)編寫事件過程btnCancelMouseClicked的程序代碼在窗口的編輯狀態(tài),右鍵單擊【取消】按鈕,在彈出的快捷菜單中依次指向【事件】f【Mouse】,單擊命令【mouseClicked】,切換“源”,進(jìn)入事件過程btnCancelMouseClicked的編輯區(qū)域,輸入程序代碼。其主要功能是實(shí)現(xiàn)關(guān)閉窗口和退出程序。事件過程btnCancelMouseClicked的程序代碼privatevoidbtnCancelMouseClicked(java.awt.event.MouseEventevt){if(evt.getSource()==btnCancel){intn=JOptionPane.showConfirmDialog(null,//所屬窗口"你選擇了退出登錄,是否真的退出?",//對(duì)話框提示信息"提示信息",//對(duì)話框標(biāo)題JOptionPane.YES_NO_OPTION//按鈕類型);if(n==JOptionPane.YES_OPTION){dispose();//關(guān)閉窗口System.exit(0);//退出程序}}}【程序運(yùn)行】程序Java4_8.java的運(yùn)行結(jié)果如圖25所示,如果單擊【登錄】按鈕彈出如圖26所示的【消息】對(duì)話框,如果單擊【取消】按鈕彈出如圖27所示的【提示信息】對(duì)話框。圖25程序Java4_8.java的運(yùn)行結(jié)果圖26【消息】對(duì)話框圖圖26【消息】對(duì)話框圖27【提示信息】對(duì)話框1.9應(yīng)用JTable組件設(shè)計(jì)JavaGUI程序【任務(wù)9】可視化設(shè)計(jì)購物車商品管理程序【任務(wù)描述】在NetBeansIDE可視化設(shè)計(jì)環(huán)境中創(chuàng)建如圖28所示的“購物車商品管理”窗口,該窗口運(yùn)行時(shí),在JTable組件中顯示商品數(shù)據(jù),包括商品編碼、商品名稱、價(jià)格和數(shù)量4列。在JTable組件中單擊某一行,在該組件的下方將顯示對(duì)應(yīng)的商品編碼,如果單擊【刪除】按鈕,將從JTable組件中刪除對(duì)應(yīng)的行。在窗口下方的商品編碼文本字段框、商品名稱文本字段框、商品價(jià)格文本字段框和數(shù)量文本字段框中分別輸入相應(yīng)的數(shù)據(jù),然后單擊【添加】按鈕,將新的商品數(shù)據(jù)添加到JTable組件的商品數(shù)據(jù)表中。單擊【清空】按鈕將會(huì)清空J(rèn)Table組件中的所有商品數(shù)據(jù)行。圖28“購物車商品管理”窗口【知識(shí)必備】JTable(表)組件以行和列的形式顯示數(shù)據(jù),允許對(duì)表格中的數(shù)據(jù)進(jìn)行編輯。使用表格時(shí),首先生成一個(gè)TableModel類的對(duì)象表示該數(shù)據(jù),然后以該TableModel對(duì)象作為參數(shù)生成JTable類的對(duì)象,并將TableModel對(duì)象中的數(shù)據(jù)以表格形式顯示出來?!救蝿?wù)實(shí)現(xiàn)】1.在NetBeans集成開發(fā)環(huán)境中創(chuàng)建Java包在Java項(xiàng)目Unit04中創(chuàng)建包“package4_9"。創(chuàng)建JFrame窗體在Java應(yīng)用程序項(xiàng)目Unit04的package4_9包中創(chuàng)建JFrame窗體Java4_9。在JFrame窗體Java4_9中添加必要的組件窗體Java4_9的設(shè)計(jì)外觀如圖28所示,窗體中組件的屬性設(shè)置如

表17所示。表17JFrame窗體Java49中組件的屬性設(shè)置組件類型屬性名稱屬性值屬性名稱屬性值JTable變量名稱jTableGoodsInfomodel[TableModel]JButton變量名稱jbtnAddtext添加變量名稱jbtnDeletetext刪除變量名稱jbtnCleartext清空J(rèn)Label變量名稱jlblPrompttext你選擇的商品編碼是:變量名稱jlbllContenttextjLabel2變量名稱jlblGoodsCodetext商品編碼:變量名稱jllblGoodsNametext商品名稱變量名稱jlblPricetext商品價(jià)格:變量名稱jlblNumbertext購買數(shù)量:JTextField變量名稱jtfGoodsCodetext(空)變量名稱jtfGoodsNametext(空)變量名稱jtfPricetext(空)變量名稱jtfNumbertext(空)4.編寫程序代碼,實(shí)現(xiàn)程序功能打開Java應(yīng)用程序“Java4_9.java”,切換到“源”。(1)引入命名空間importjavax.swing.

溫馨提示

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

評(píng)論

0/150

提交評(píng)論