1.寫出事件處理模型中的幾個關鍵詞,並經過具體代碼實例說明你對事件處理模型的理解。
事件對象(Event object) 事件源(Event Source) 事件監聽器(Event Listener)
事件處理模型理解:
編寫事件處理程序的基本流程:java
簡單的示例:git
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; public class AwtTest { JFrame f = new JFrame("Say Hello"); //實例化窗口對象 JTextField tf = new JTextField(30); //定義文本框,並指定長度 JButton ok = new JButton("OK"); //添加OK按鈕 class OkListener implements ActionListener { //實現ActionListener接口 public void actionPerformed(ActionEvent e) { tf.setText("Hello!"); } } public void init() { f.add(tf); //把組件tf加入容器中 f.add(ok, BorderLayout.SOUTH);//將ok放在南區域並加入組件 ok.addActionListener(new OkListener()); f.addWindowListener(new WindowAdapter(){ //加入窗口監聽 public void windowClosing(WindowEvent aeg0){ //覆寫窗口關閉的方法 System.exit(1); } }); f.setSize(230,100); //設置窗口大小 f.setVisible(true); //讓組建顯示 } public static void main(String[] args) { new AwtTest().init(); } }
1.使用GUI,編寫一個寵物商店管理系統實現對寵物信息的統一管理。假設寵物種類有貓、狗,寵物信息包括:編號、品種、年齡、數量、價格。系統啓動進入登陸界面,登陸成功進入管理界面,不然提出錯誤信息後退出系統。
在管理界面實現如下功能:
(1)顯示全部寵物列表
(2)添加寵物到列表
(3)刪除寵物
(4)對寵物信息進行修改
(5)退出
功能擴展:
用戶分爲管理員和普通用戶兩種,增長普通用戶註冊功能,增長普通用戶界面。
實現如下功能:
(1)顯示全部寵物
(2)可以按照品種對寵物進行查找
(3)購買寵物
(4)顯示購買清單
(5)退出正則表達式
完成實驗內容,代碼上傳到碼雲,在隨筆中分析程序設計思路,用PowerDesigner畫出類圖結構,並對完成實驗內容過程當中遇到的問題、解決方案和思考等進行概括總結,注意代碼中必須有必要的註釋。設計模式
程序設計思路:
一、先設計一個PetItem類,包含number、name、age、cno、price屬性,並寫出get、set方法。設計一個Administrator類,包含name、mi屬性,並寫出get、set方法,編寫一個驗證方法。
二、設計存貯數據DataBase類,將數據存貯在ArrayList中,給出初始數據。
三、設計數據訪問AdminDao類,包含獲取全部數據,添加數據,刪除數據等方法。
四、設計服務AdminService類,包含查詢服務,添加服務,修改服務,刪除服務等方法,查詢服務要調用AdminDao類的queryAllData()方法,獲取全部數據。
五、設計WelcomeFrame類,聲明一個圖片組件和一個按鈕組件,設計一個設置窗體的函數,包括窗體大小、窗體位置、標題。添加組件方法,包括按鈕組件,標題組件。設計添加監聽器方法。設計一個顯示管理員界面方法,讓它鏈接到下一個界面。
六、設計Adminis類,聲明一個按鈕、兩個標籤,設計一個設置窗體的函數,包括窗體大小、窗體位置、。添加組件方法,包括按鈕組件,標題組件。設計添加監聽器方法。設計一個顯示管理員界面方法,讓它鏈接到下一個界面。設計一個修改的方法調用Administrator類的驗證方法。
七、設計系統管理界面, AdminDialog類,定義界面使用的組件,使用JTextField組件輸入文本,編寫構造方法,初始化方法,添加組件,添加監聽器,編寫查詢方法,調用adminService的查詢服務,編寫添加方法,刪除方法,修改方法。
八、編寫工具類,方便WelcomeFrame類調用。
九、設計主方法,調用WelcomeFrame().setVisible(true),運行項目。
類圖
數組
碼雲commit歷史截圖函數
代碼行數(新增/累積) | 學習時間(新增/累積) | 本週學習內容 | |
---|---|---|---|
目標 | 5000行 | 300小時 | |
第2-4周 | 100/100 | 20/20 | 學習了數組和方法 |
第5周 | 200/300 | 30/50 | 學習了String類和StringBuffer類 |
第6周 | 800/1100 | 40/90 | 學習了this、static關鍵字,Singleton模式 |
第八週 | 1200/1700 | 60/110 | 繼承和多態,抽象方法 |
第九周 | 1500/2000 | 70/120 | 接口、工廠設計模式、包裝類、匿名內部類、日期類、正則表達式 |
第十週 | 1900/2400 | 80/130 | 異常處理、泛型、集合 |
第十一週 | 2500/3000 | 100/150 | 用戶圖形界面、事件處理 |