日常學(xué)習(xí) 8.10 分包
8.10
分包
一、分包思想(MVC)
-M model 模型 java基礎(chǔ)需要封裝的對(duì)象
-V view 視圖 與UI界面相關(guān)的類(lèi)
-C controller 控制器 事件監(jiān)聽(tīng)
-工具包tool/util 自定義 工具/方法 工具類(lèi)
-測(cè)試包test/main/demo/app main方法的入口類(lèi)
二、包的分層級(jí)
a層級(jí):開(kāi)發(fā)團(tuán)體的性質(zhì)(公司com,非盈利性團(tuán)體org,個(gè)人per)
b層級(jí):團(tuán)體英文名 如:com.alibaba org.apache
c層級(jí):具體功能包名 如:org.miao.model
三、事件監(jiān)聽(tīng)
1.事件源:發(fā)生事件的源頭
比如,我用鼠標(biāo)點(diǎn)了一下 按鈕(源頭),會(huì)彈窗。
2.事件:發(fā)生了什么事
比如,鼠標(biāo)點(diǎn)擊事件,鍵盤(pán)按壓事件,狀態(tài)變更的事件
3.監(jiān)聽(tīng)器:是一個(gè)對(duì)象,用于偵測(cè)事件的發(fā)生
4.處理方式:當(dāng)監(jiān)聽(tīng)器發(fā)現(xiàn)了某個(gè)事件發(fā)生,該做什么(編寫(xiě)方法)
四、窗口監(jiān)聽(tīng) WindowListener (接口)
-監(jiān)聽(tīng)目標(biāo):窗口JFrame
-監(jiān)聽(tīng)事件:
1.關(guān)閉事件
2.首次變?yōu)榭梢?jiàn)狀態(tài)
3.最小化與還原
4.活動(dòng)與不活動(dòng)
-操作步驟
1.自己寫(xiě)個(gè)類(lèi)去實(shí)現(xiàn)窗口監(jiān)聽(tīng)的接口
2.必須重寫(xiě)接口中的抽象方法,選擇需要的方法繼續(xù)編寫(xiě)邏輯代碼
3.在適當(dāng)?shù)奈恢脛?chuàng)建監(jiān)聽(tīng)器的對(duì)象(萬(wàn)能位置:Application的run())
4.在適當(dāng)?shù)奈恢媒o某個(gè)窗口安裝上監(jiān)聽(tīng)器(萬(wàn)能位置:Application的run())
案例:
監(jiān)聽(tīng)窗口的關(guān)閉,彈出用戶(hù)提示,確定才能真正的關(guān)閉
準(zhǔn)備工作:設(shè)置窗口原來(lái)的關(guān)閉方式為不做如何操作
五、鼠標(biāo)監(jiān)聽(tīng) MouseListener
-監(jiān)聽(tīng)目標(biāo):除了窗口之外,只要能被鼠標(biāo)點(diǎn)到的組件,都能添加此監(jiān)聽(tīng)
-監(jiān)聽(tīng)事件:
-單擊事件
-按下事件
-釋放事件
-進(jìn)入事件 (按鈕,窗口...)
-移出事件
-操作步驟
1.自己寫(xiě)個(gè)類(lèi)去實(shí)現(xiàn)鼠標(biāo)監(jiān)聽(tīng)的接口
2.必須重寫(xiě)接口中的抽象方法,選擇需要的方法繼續(xù)編寫(xiě)邏輯代碼
3.在適當(dāng)?shù)奈恢脛?chuàng)建監(jiān)聽(tīng)器的對(duì)象(萬(wàn)能位置:Application的run())
4.在適當(dāng)?shù)奈恢媒o某個(gè)組件(例如按鈕)安裝上監(jiān)聽(tīng)器(萬(wàn)能位置:Application的run())
案例:
-當(dāng)鼠標(biāo)進(jìn)入按鈕,將窗口背景顏色改成綠色
-在按鈕按下時(shí),窗口背景顏色改成紅色
-按鈕上釋放時(shí),改回綠色
-鼠標(biāo)出來(lái)變?yōu)闊o(wú)色
案例:假登入,跳轉(zhuǎn)到管理界面
案例:去登入跳轉(zhuǎn)到注冊(cè),跳回來(lái)
案例:主窗口關(guān)閉
案例:主窗口關(guān)閉要提示,回到登入
案例:點(diǎn)擊新增 跳轉(zhuǎn)到 新增界面
遇到問(wèn)題
1.使用重置功能時(shí)reg.setJtfPwd(null);不能重置
2.無(wú)法判斷是否是正確的用戶(hù)
解決方法:
1.使用reg.getJtfPwd().setText(null);進(jìn)行重置
2.不能使用db.getUserArr()[i].getAcc()==login.getJtfAcc().getText()來(lái)判斷
應(yīng)該用acc.equals(db.getUserArr()[i].getAcc())來(lái)判斷