《Java技術》第七次做業

《Java技術》第七次做業

(一)學習總結

1.寫出事件處理模型中的幾個關鍵詞,並經過具體代碼實例說明你對事件處理模型的理解。
事件對象(Event object) 事件源(Event Source) 事件監聽器(Event Listener)
事件處理模型理解:
編寫事件處理程序的基本流程:java

  • 肯定事件源
  • 肯定事件類型
  • 實現監聽器類:編寫一個類,覆蓋監聽器接口中的適當方法,至少要實現一種類型的監聽器接口,並實現接口中全部的事件處理方法;
  • 建立組件,並對組件註冊相應的監聽器,須要建立監聽器對象,將監聽器對象做爲參數傳入組件的add
  • XxxListener方法完成註冊;
  • 簡單的示例: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 用戶圖形界面、事件處理
相關文章
相關標籤/搜索