




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室Java圖形編程圖形編程3) 一、復(fù)習一、復(fù)習二、知識點講解:二、知識點講解:1Java的事件處理機制的事件處理機制2JOptionPane類的用法類的用法三、例題講解三、例題講解四、小結(jié)和作業(yè)四、小結(jié)和作業(yè)計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室一、復(fù)習一、復(fù)習1. java.awt包常用的三種布局編輯類包常用的三種布局編輯類每個布局編輯類對應(yīng)一種布局策略,分別是每個布局編輯類對應(yīng)一種布局策略,分別是FlowLayout:流式布局管理器:流式布局管理器BorderLayout:邊界布局管理器:邊界
2、布局管理器GridLayout:網(wǎng)格布局管理器:網(wǎng)格布局管理器2. 常用的控件組件常用的控件組件標簽標簽JLabel按鈕按鈕JButton單行文本框單行文本框JTextField多行文本區(qū)多行文本區(qū)JTextArea計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室3Java的事件處理機制的事件處理機制1.委托事件模型委托事件模型Java采用委托事件模型來進行事件處理,不同的事件由不采用委托事件模型來進行事件處理,不同的事件由不同的監(jiān)聽者處理。同的監(jiān)聽者處理。事件源:產(chǎn)生事件的組件。事件源:產(chǎn)生事件的組件。鼠標,文本框,按鈕,選擇項目,菜單項目等產(chǎn)生各種操鼠標,文本框,按鈕,
3、選擇項目,菜單項目等產(chǎn)生各種操作的對象。作的對象。事件:即其所產(chǎn)生的動作狀態(tài)。事件:即其所產(chǎn)生的動作狀態(tài)。用戶執(zhí)行的動作:單擊鼠標,按按鈕,選擇項目,單擊菜用戶執(zhí)行的動作:單擊鼠標,按按鈕,選擇項目,單擊菜單條,在文本框中按下回車鍵等。單條,在文本框中按下回車鍵等。一、復(fù)習一、復(fù)習計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1.委托事件模型委托事件模型事件源事件源注冊:注冊:btn.addActionListener(監(jiān)聽者對象監(jiān)聽者對象);ActionEvent事件事件事件監(jiān)聽器監(jiān)聽者)事件監(jiān)聽器監(jiān)聽者)實現(xiàn)接口:實現(xiàn)接口:public void actionPerf
4、ormed(ActionEvent e)注冊注冊觸發(fā)事件觸發(fā)事件調(diào)用并傳遞參數(shù)調(diào)用并傳遞參數(shù)3Java的事件處理機制的事件處理機制一、復(fù)習一、復(fù)習計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室2.actionPerformed()方法的執(zhí)行流程方法的執(zhí)行流程1.當事件源上發(fā)生監(jiān)聽者可以處理的事當事件源上發(fā)生監(jiān)聽者可以處理的事件時,如鼠標單擊件時,如鼠標單擊JButton按鈕或者在按鈕或者在JTextField中敲回車鍵。中敲回車鍵。2. 事件源事件源JButton把這個事件把這個事件ActionEvent e作為實際參作為實際參數(shù)傳遞給事件監(jiān)聽器類數(shù)傳遞給事件監(jiān)聽器類Gu
5、essNumber中負責處理這類中負責處理這類事件的方法事件的方法(actionPerformed(ActionEvent e)3. 一旦有參數(shù)傳遞到一旦有參數(shù)傳遞到actionPerformed方法中,這個方法就方法中,這個方法就被系統(tǒng)自動調(diào)用執(zhí)行,事件就按照程序代碼中定義的流程被系統(tǒng)自動調(diào)用執(zhí)行,事件就按照程序代碼中定義的流程得到了處理。得到了處理。3Java的事件處理機制的事件處理機制一、復(fù)習一、復(fù)習計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u 知識點之四:事件監(jiān)聽器的三種形式知識點之四:事件監(jiān)聽器的三種形式u 1主類自身是事件監(jiān)聽器主類自身是事件監(jiān)聽器u 2定
6、義一個內(nèi)部類作為事件監(jiān)聽器定義一個內(nèi)部類作為事件監(jiān)聽器u 3定義一個匿名內(nèi)部類作為事件監(jiān)聽器定義一個匿名內(nèi)部類作為事件監(jiān)聽器二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u 知識點之四:主類自身是事件監(jiān)聽器知識點之四:主類自身是事件監(jiān)聽器二、知識點講解二、知識點講解public class GuessNumber extends JFrame implements ActionListenerJButton okBtn;/確定按鈕確定按鈕public void init()okBtn=new JButton(確定確定);/定義定義JFrame中
7、包含的組件中包含的組件okBtn.addActionListener(this);/注冊動作事件注冊動作事件 public void eventHandle()/觸發(fā)動作事件時的處理過程觸發(fā)動作事件時的處理過程public void actionPerformed(ActionEvent e)if(e.getSource()=okBtn)eventHandle(); 計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u 知識點之四:定義一個內(nèi)部類作為事件監(jiān)聽知識點之四:定義一個內(nèi)部類作為事件監(jiān)聽器器二、知識點講解二、知識點講解在在GuessNumber1類中定義一個內(nèi)部類類中
8、定義一個內(nèi)部類ActionEventHandler自定義的類名)自定義的類名)該內(nèi)部類繼承了動作事件監(jiān)聽器接口該內(nèi)部類繼承了動作事件監(jiān)聽器接口ActionListener該類中實現(xiàn)接口該類中實現(xiàn)接口ActionListener的方法的方法actionPerformed()public class GuessNumber1 extends JFrame GuessNumber1() class ActionEventHandler implements ActionListener /內(nèi)內(nèi)部類部類 public void actionPerformed(ActionEvent e) if(e.g
9、etSource()=okBtn) eventHandle(); /該類的其他代碼該類的其他代碼計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u 知識點之四:定義一個內(nèi)部類作為事件監(jiān)聽知識點之四:定義一個內(nèi)部類作為事件監(jiān)聽器器二、知識點講解二、知識點講解public class GuessNumber1 extends JFrame GuessNumber1()okBtn.addActionListener(new ActionEventHandler();numJtf.addActionListener(new ActionEventHandler();class Ac
10、tionEventHandler implements ActionListenerpublic void actionPerformed(ActionEvent e) /監(jiān)聽者是一個內(nèi)部類監(jiān)聽者是一個內(nèi)部類ActionEventHandlerpublic void eventHandle()/觸發(fā)動作事件時的處理過程觸發(fā)動作事件時的處理過程計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u 知識點之四:定義匿名內(nèi)部類作為事件監(jiān)聽知識點之四:定義匿名內(nèi)部類作為事件監(jiān)聽器器二、知識點講解二、知識點講解public class GuessNumber3 extends JFra
11、me public void GuessNumber3()okBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (e.getSource() = okBtn) eventHandle(); else if (e.getSource() = numJtf) eventHandle(););/ 使用匿名內(nèi)部內(nèi)注冊動作事件使用匿名內(nèi)部內(nèi)注冊動作事件 計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室4. AWTEvent類體系結(jié)構(gòu)類體系結(jié)構(gòu)Containe
12、rEventEventObjectAWTEventActionEventTextEventAdjustmentEventComponentEventItemtEventWindowEventFocusEventInputEventPaintEventMouseEventKeyEventu 知識點之四:事件處理機制知識點之四:事件處理機制二、知識點講解二、知識點講解ActionEventTextEventItemtEventFocusEventMouseEventKeyEventWindowEvent計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室5.AWTEvent需要注意
13、的問題需要注意的問題java.awt.event包中定義了包中定義了11個監(jiān)聽者接口,每個接口內(nèi)部個監(jiān)聽者接口,每個接口內(nèi)部包含了若干處理相關(guān)事件的抽象方法。包含了若干處理相關(guān)事件的抽象方法。MouseEvent類有兩個監(jiān)聽者接口與之相對應(yīng)類有兩個監(jiān)聽者接口與之相對應(yīng) MouseListener接口接口 具體事件包括:具體事件包括:MOUSE_CLICKED,MOUSE_ENTERED,MOUSE_EXITED,MOUSE_PRESSED,MOUSE_RELEASEDMouseMotionListener接口接口 具體事件包括:具體事件包括:MOUSE_DRAGGED,MOUSE_MOVEDu
14、 知識點之四:事件處理機制知識點之四:事件處理機制二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室5. AWTEvent需要注意的問題需要注意的問題一個事件類可能對應(yīng)多個事件。一個事件類可能對應(yīng)多個事件。如如KeyEvent類對應(yīng)三個具體事件類對應(yīng)三個具體事件KEY-PRESSED(鍵按下鍵按下)KEY-RELEASED(鍵松開鍵松開)KEY-TYPED(擊鍵擊鍵)u 知識點之四:事件處理機制知識點之四:事件處理機制二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室6.事件監(jiān)聽器編程總結(jié)事件監(jiān)聽器編程
15、總結(jié)實現(xiàn)事件監(jiān)聽器接口有三種途徑:實現(xiàn)事件監(jiān)聽器接口有三種途徑:GuessNumber類自身是一個事件監(jiān)聽器類自身是一個事件監(jiān)聽器設(shè)計一個內(nèi)部類作為一個事件監(jiān)聽器設(shè)計一個內(nèi)部類作為一個事件監(jiān)聽器匿名內(nèi)部類實現(xiàn)事件監(jiān)聽器匿名內(nèi)部類實現(xiàn)事件監(jiān)聽器很多教材和參考書中建議為事件處理設(shè)計一個專門的內(nèi)部類,很多教材和參考書中建議為事件處理設(shè)計一個專門的內(nèi)部類,而不要將一個已經(jīng)存在的類轉(zhuǎn)換為監(jiān)聽器。而不要將一個已經(jīng)存在的類轉(zhuǎn)換為監(jiān)聽器。二、知識點講解二、知識點講解u 知識點之四:事件處理機制知識點之四:事件處理機制計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u知識點之五:知識點之五:
16、JOptionPane類的用法類的用法創(chuàng)建簡單對話框,這個對話框?qū)⑽挥趧?chuàng)建簡單對話框,這個對話框?qū)⑽挥趐arent組件的中央,如組件的中央,如果果parent為為null,對話框?qū)@示在屏幕的中央。,對話框?qū)@示在屏幕的中央。Java中創(chuàng)建簡單對話框不用中創(chuàng)建簡單對話框不用JDialog類,而用類類,而用類JOptionPane的靜態(tài)方法即可。的靜態(tài)方法即可。需要提供對話框需要的參數(shù)。需要提供對話框需要的參數(shù)。簡單對話框有簡單對話框有4種,方法名的形式都是種,方法名的形式都是showXXXDialog。消息框消息框showMessageDialog的用法:的用法:JOptionPane.sho
17、wMessageDialog(所屬所屬Frame,消息本身,消息本身,對話框標題,圖形標志常量對話框標題,圖形標志常量)如如GuessNumber.java中的中的eventHandle()方法:方法:二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室public void eventHandle()tryuserInt=Integer.parseInt(numJtf.getText().trim();catch(NumberFormatException ex)JOptionPane.showMessageDialog(this,請將您請將您猜得
18、的整數(shù)輸入到文本框中!猜得的整數(shù)輸入到文本框中!);numJtf.setText();numJtf.requestFocus();二、知識點講解二、知識點講解u知識點之五:知識點之五:JOptionPane類的用法類的用法計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室p問題問題pJOptionPane.showMessageDialog(null,請將您猜得的整數(shù)請將您猜得的整數(shù)輸入到文本框中!輸入到文本框中!);pJOptionPane.showMessageDialog(this,請將您猜得的整數(shù)請將您猜得的整數(shù)輸入到文本框中!輸入到文本框中!);p上面兩條語句的執(zhí)行
19、結(jié)果有什么區(qū)別?上面兩條語句的執(zhí)行結(jié)果有什么區(qū)別?二、知識點講解二、知識點講解u知識點之五:知識點之五:JOptionPane類的用法類的用法計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室4JFrame組件之組件之JCheckBoxu復(fù)選框復(fù)選框JCheckBoxuJCheckBox cb1=new JCheckBox(Check Box 1);uJCheckBox cb2=new JCheckBox(Check Box 2);uJCheckBox cb3=new JCheckBox(Check Box 3);u每個復(fù)選框有兩種狀態(tài):選中狀態(tài)和未選中狀態(tài)。每個復(fù)選框有兩種
20、狀態(tài):選中狀態(tài)和未選中狀態(tài)。u常用方法常用方法u1getState():返回用戶在復(fù)選框所做的選擇,如果復(fù)選:返回用戶在復(fù)選框所做的選擇,如果復(fù)選框被選中,該方法返回值為框被選中,該方法返回值為true;如果復(fù)選框未被選中,該;如果復(fù)選框未被選中,該方法返回值為方法返回值為false。u2setState():設(shè)置復(fù)選框。:設(shè)置復(fù)選框。bold.setState(true); 設(shè)置設(shè)置bold為選中狀態(tài)。為選中狀態(tài)。二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室知識點之六:知識點之六:JFrame組件之組件之JCheckBoxu例題例題-Che
21、ckBoxes.javau讀程序,回答下列問題:讀程序,回答下列問題:u 程序的運行界面是什么樣子的?程序的運行界面是什么樣子的?u JCheckBox組件可以觸發(fā)什么事件?組件向相應(yīng)的事件組件可以觸發(fā)什么事件?組件向相應(yīng)的事件監(jiān)聽器進行注冊的時候采用的是三種途徑中的哪種方法?監(jiān)聽器進行注冊的時候采用的是三種途徑中的哪種方法?u 類中定義了一個類中定義了一個JTextArea組件組件t,JTextArea t=new JTextArea(6,15);u這個組件在哪個方法中被使用了,如何在這個組件在哪個方法中被使用了,如何在JTextArea中當中當前顯示的文本末尾添加一行文本?前顯示的文本末尾
22、添加一行文本?u 如何給一個如何給一個JTextArea組件添加滾動條面板?組件添加滾動條面板?u isSelected()方法的功能是什么?方法的功能是什么?二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u例題例題-CheckBoxes.javau讀程序,回答下列問題:讀程序,回答下列問題:CheckBoxes()cb1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)trace(1,cb1););setLayout(new Flo
23、wLayout();JScrollPane jScrollPane=new JScrollPane(t);add(jScrollPane);/add(new JScrollPane(t);add(cb1);add(cb2);add(cb3);二、知識點講解二、知識點講解知識點之六:知識點之六:JFrame組件之組件之JCheckBox計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u例題例題-CheckBoxes.javau讀程序,回答下列問題:讀程序,回答下列問題:public void trace(String b,JCheckBox cb)if(cb.isSelect
24、ed()t.append(Box +b+ Setn);elset.append(Box +b+ Clearedn);二、知識點講解二、知識點講解知識點之六:知識點之六:JFrame組件之組件之JCheckBox計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室知識點之六:知識點之六:JFrame組件之單選按鈕組件之單選按鈕JRadioButtonu創(chuàng)建單選按鈕對象創(chuàng)建單選按鈕對象u單選按鈕組組件由一組互斥的按鈕組成,同一時刻只能有單選按鈕組組件由一組互斥的按鈕組成,同一時刻只能有一個按鈕處于選中狀態(tài)。一個按鈕處于選中狀態(tài)。uRadioButtons()uJRadioButto
25、n rb1=new JRadioButton(one,false);uJRadioButton rb2=new JRadioButton(two,false);uJRadioButton rb3=new JRadioButton(three,false);uButtonGroup b=new ButtonGroup();ub.add(rb1);ub.add(rb2);ub.add(rb3);uadd(rb1);uadd(rb2);uadd(rb3);u二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u例題例題-RadioButtons.javau
26、public class RadioButtons extends JFrame u JTextField t=new JTextField(15);u ButtonGroup b=new ButtonGroup();u JRadioButtonurb1=new JRadioButton(one,false),urb2=new JRadioButton(two,false),urb3=new JRadioButton(three,false);u ActionListener al=new ActionListener()upublic void actionPerformed(ActionE
27、vent e)ut.setText(Radio Button:u+(JRadioButton)e.getSource().getText();uu ;uu知識點之六:知識點之六:JFrame組件之單選按鈕組件之單選按鈕JRadioButton二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室u例題例題-RadioButtons.javaupublic class RadioButtons extends JFrame uRadioButtons()urb1.addActionListener(al);urb2.addActionListener(a
28、l);urb3.addActionListener(al);ub.add(rb1); b.add(rb2); b.add(rb3);ut.setEditable(false);usetLayout(new FlowLayout();uadd(t);uadd(rb1); add(rb2);add(rb3);u upublic static void main(String args)unew RadioButtons();uu知識點之六:知識點之六:JFrame組件之單選按鈕組件之單選按鈕JRadioButton二、知識點講解二、知識點講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)
29、絡(luò)工程教研室u圖形界面程序設(shè)計技巧圖形界面程序設(shè)計技巧三、本章小結(jié)三、本章小結(jié)在圖形界面程序設(shè)計中,先認真閱讀程序要求,用筆勾畫在圖形界面程序設(shè)計中,先認真閱讀程序要求,用筆勾畫一下可能需要的程序操作界面,規(guī)劃好需要用到的組件及它一下可能需要的程序操作界面,規(guī)劃好需要用到的組件及它們的大體排放位置。們的大體排放位置。構(gòu)造方法:在圖形界面程序設(shè)計中,組件的實例化,規(guī)劃,構(gòu)造方法:在圖形界面程序設(shè)計中,組件的實例化,規(guī)劃,組件事件監(jiān)聽器的注冊等工作一般都放在構(gòu)造方法中完成。組件事件監(jiān)聽器的注冊等工作一般都放在構(gòu)造方法中完成。構(gòu)造方法定義好后可以先在構(gòu)造方法定義好后可以先在main()方法中驗證一下
30、界面中組方法中驗證一下界面中組件的放置是否合理。件的放置是否合理。分析實現(xiàn)程序的邏輯流程,將程序中能夠獨立處理的流程分析實現(xiàn)程序的邏輯流程,將程序中能夠獨立處理的流程放在一個單獨定義的方法中。放在一個單獨定義的方法中。計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.java四、例題講解四、例題講解u設(shè)計要求:設(shè)計要求:u1實現(xiàn)一個如圖所示的客戶管理系統(tǒng)的操作界面。實現(xiàn)一個如圖所示的客戶管理系統(tǒng)的操作界面。u2單擊單擊“插入插入”,“顯示顯示”,“查詢查詢”,“刪除四個刪除四個按鈕的時候,文本區(qū)里面顯示按鈕的時候,文本區(qū)里面
31、顯示“您單擊了插入按鈕,正在您單擊了插入按鈕,正在執(zhí)行插入新記錄操作執(zhí)行插入新記錄操作”。計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javau設(shè)計要求:設(shè)計要求:u3單擊單擊“移除組件按鈕,將移除組件按鈕,將“插入插入”,“顯示顯示”,“查查詢詢”,“刪除四個按鈕組件從刪除四個按鈕組件從JPanel中刪除掉,并觸發(fā)中刪除掉,并觸發(fā)ContainerEvent事件,在文本區(qū)顯示事件,在文本區(qū)顯示“您單擊了移除按鈕,您單擊了移除按鈕,從從JPanel中移除了插入,顯示,刪除和查詢等按鈕中移除了插入,顯示,刪除和查詢等按鈕
32、”。u4單擊單擊“重新放置組件按鈕,將重新放置組件按鈕,將“插入插入”,“顯示顯示”,“查詢查詢”,“刪除四個按鈕組件重新添加到刪除四個按鈕組件重新添加到JPanel中,并中,并觸發(fā)觸發(fā)ContainerEvent事件,在文本區(qū)顯示事件,在文本區(qū)顯示“您單擊了重新放您單擊了重新放置按鈕,向置按鈕,向JPanel中重新添加了插入,顯示,刪除和查詢等中重新添加了插入,顯示,刪除和查詢等按鈕按鈕”。5單擊窗口右上角的關(guān)閉單擊窗口右上角的關(guān)閉按鈕,可以將按鈕,可以將JFrame窗口窗口關(guān)閉掉。關(guān)閉掉。四、例題講解四、例題講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1Cust
33、omerManagementSystem.javau思緒思緒u1界面設(shè)計界面設(shè)計f = new JFrame(客戶管理子系統(tǒng)客戶管理子系統(tǒng));pl = new JPanel();pl.setLayout(new GridLayout(3, 6);f.add(BorderLayout.NORTH, pl);result = new JTextArea(60, 100);result.setEditable(false);JScrollPane jScrollPane=new JScrollPane(result);f.add(BorderLayout.CENTER, jScrollPane);類
34、的定義類的定義public class CustomerManagementSystem extends WindowAdapter implements ActionListener, ContainerListener四、例題講解四、例題講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javau JPanel中的第一行中的第一行JLabel label1 = new JLabel(客戶信息:客戶信息:);pl.add(label1);/ pl中填加組件中填加組件JLabel label11 = new JLabel
35、();pl.add(label11);JLabel label12 = new JLabel();pl.add(label12);JLabel label13 = new JLabel();pl.add(label13);JLabel label14 = new JLabel();pl.add(label14);JLabel label15 = new JLabel();pl.add(label15);四、例題講解四、例題講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javaJLabel label2 = new J
36、Label(客戶姓名客戶姓名:);pl.add(label2);name = new JTextField(12);pl.add(name);JLabel label3 = new JLabel(客戶年齡:客戶年齡:);pl.add(label3);age = new JTextField(4);pl.add(age);JLabel label4 = new JLabel(客戶地址:客戶地址:);pl.add(label4);address = new JTextField(30);pl.add(address);u JPanel中的第二行中的第二行四、例題講解四、例題講解計算機科學與技術(shù)學院
37、網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javahidden = new JButton(移除組件移除組件);hidden.addActionListener(this);pl.add(hidden);expose = new JButton(重新放置重新放置);expose.addActionListener(this);pl.add(expose);adds = new JButton(插入插入);adds.addActionListener(this);/ 注冊事件監(jiān)聽注冊事件監(jiān)聽器器pl.add(adds);prints =
38、new JButton(顯示顯示);prints.addActionListener(this);pl.add(prints);selects = new JButton(查詢查詢);selects.addActionListener(this);pl.add(selects);deletes = new JButton(刪除刪除);deletes.addActionListener(this);pl.add(deletes);pl.addContainerListener(this);/ 把把pl注冊給容注冊給容器事件的事件監(jiān)聽器事件的事件監(jiān)聽ContainerListenerf.add(B
39、orderLayout.NORTH, pl);/ 將將pl放置在放置在Frame的北方向上的北方向上u JPanel中的第三行中的第三行四、例題講解四、例題講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javafor (int i = 0; i 4; i+) lbli = new JLabel();/ 實例化空白標簽實例化空白標簽f.setSize(600, 300);/ 設(shè)置設(shè)置Frame的大小的大小f.setVisible(true);/ 設(shè)置設(shè)置Frame為可見為可見f.addWindowListener(th
40、is);/ 將將Frame注冊給窗口事件監(jiān)聽者注冊給窗口事件監(jiān)聽者WindowListeneru JPanel中的第三行中的第三行四、例題講解四、例題講解計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室計算機科學與技術(shù)學院網(wǎng)絡(luò)工程教研室1CustomerManagementSystem.javau 2.定義定義ActionListener接口的方法接口的方法actionPerformed()public void actionPerformed(ActionEvent e) if (e.getSource() = adds) result.append(n);result.append(您單擊了插入按鈕,正
41、在執(zhí)行插入新記錄操作您單擊了插入按鈕,正在執(zhí)行插入新記錄操作n); else if (e.getSource() = prints) result.append(n);result.append(您單擊了顯示按鈕,正在執(zhí)行顯示記錄操作您單擊了顯示按鈕,正在執(zhí)行顯示記錄操作n); else if (e.getSource() = selects) result.append(n);result.append(您單擊了查詢按鈕,正在執(zhí)行查詢記錄操作您單擊了查詢按鈕,正在執(zhí)行查詢記錄操作n); else if (e.getSource() = deletes) result.append(n);result.append(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電廠鍋爐噴涂合同協(xié)議
- 電商土方租賃合同協(xié)議
- 電腦顯示屏合同協(xié)議
- 生產(chǎn)環(huán)氧地坪合同協(xié)議
- 甲方原合同補充協(xié)議范本
- 申請購買勞動合同協(xié)議
- 玻璃隔斷墻裝修合同協(xié)議
- 電信寬帶服務(wù)合同協(xié)議
- 百果園采購合同協(xié)議
- 瓦工貼磚勞務(wù)合同協(xié)議
- 2024年安徽中考歷史試卷試題答案解析及備考指導(dǎo)課件
- 2024急救培訓心肺復(fù)蘇課件
- 人文關(guān)懷護理課件
- 2024山東能源集團中級人才庫選拔高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 2024屆合肥市高三第三次教學質(zhì)量檢測 英語答案
- 中考復(fù)習尺規(guī)作圖的路徑與原理
- 手術(shù)器械檢查與保養(yǎng)
- (正式版)JBT 14694-2024 電氣絕緣用合成有機酯與結(jié)構(gòu)材料的相容性試驗方法
- 小學校園百日攻堅行動方案設(shè)計
- 遼寧大連市濱城高中聯(lián)盟2023-2024學年高一下學期4月月考數(shù)學試卷
- 芯片銷售入職培訓課件
評論
0/150
提交評論