【正文】
添加登入按鈕 final JDialog regDialog = new JDialog(login, 注冊(cè) , true)。)。 //設(shè)置顯示圖片的絕對(duì)路徑 (new JLabel(image))。 (false)。 //添加登入按鈕 final JDialog regDialog = new JDialog(login, 注冊(cè) , true)。)。 //設(shè)置顯示圖片的絕對(duì)路徑 (new JLabel(image))。 表31 各模塊名稱功能匯總表序號(hào) 模塊名 基本功能1 登錄模塊 登錄用戶2 注冊(cè)模塊 提供新用戶注冊(cè)服務(wù)2 計(jì)算模塊 對(duì)數(shù)據(jù)進(jìn)行計(jì)算,并將結(jié)果保存到歷史記錄文件中3 信息查詢 對(duì)用戶使用計(jì)算器計(jì)算的歷史記錄進(jìn)行查詢和用戶信息查詢本章是實(shí)用型計(jì)算器的具體設(shè)計(jì)過(guò)程,有具體的需求分析、系統(tǒng)功能模塊。? 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。? 開(kāi)發(fā)工具包:JDK 。因此,我們開(kāi)發(fā)了這個(gè)實(shí)用型計(jì)算器,它能更加便捷的服務(wù)于大眾。通過(guò)集中式的信息數(shù)據(jù)庫(kù),將用戶信息與使用情況都存儲(chǔ)起來(lái),達(dá)到數(shù)據(jù)共享,降低成本,提高效率,改進(jìn)服務(wù)的目的,進(jìn)而實(shí)現(xiàn)該計(jì)算器實(shí)用性的優(yōu)勢(shì)。目前,Java語(yǔ)言不僅是一門(mén)被廣泛使用的編程語(yǔ)言,而且成為軟件設(shè)計(jì)開(kāi)發(fā)者應(yīng)當(dāng)掌握的一門(mén)基礎(chǔ)語(yǔ)言。具體要求(包括技術(shù)要求等):系統(tǒng)的功能要求:1. 可以使用計(jì)算器進(jìn)行簡(jiǎn)單的四則運(yùn)算:用界面上的按鈕輸入數(shù)字和相應(yīng)的運(yùn)算符,即可算出相應(yīng)的式子的答案,并且確保答案符合一定的精度要求;2. 可以使用計(jì)算器進(jìn)行一定的科學(xué)運(yùn)算,比如在輸入數(shù)字后,計(jì)算器可以將相應(yīng)的數(shù)字進(jìn)行進(jìn)制轉(zhuǎn)化,實(shí)現(xiàn)功能的同時(shí)確保一定的精度要求;3. 可以進(jìn)行簡(jiǎn)單的函數(shù)運(yùn)算,比如求一個(gè)數(shù)的三角函數(shù)等;4. 具有一定的錯(cuò)誤提示功能,比如輸入一個(gè)數(shù)除以0,我們將輸出錯(cuò)誤的信息。Java具有平臺(tái)無(wú)關(guān)性,面向?qū)ο?,多線程,安全,動(dòng)態(tài)等特點(diǎn)。在IT行業(yè)發(fā)達(dá)的國(guó)家,有將近60%的軟件開(kāi)發(fā)人員使用Java的基礎(chǔ)培訓(xùn)工作。(3)查詢功能 該計(jì)算器的存儲(chǔ)功能提供給用戶對(duì)歷史信息的查詢,可以按照時(shí)間查詢。3) 用戶使用的每次運(yùn)算都給予存儲(chǔ),便于查詢歷史記錄。? 通過(guò)注冊(cè)賬號(hào)并登錄實(shí)現(xiàn)用戶個(gè)人實(shí)用信息的存儲(chǔ)并查詢。1)界面布局模塊4J f r a m e ( 計(jì)算器窗口 )J p a n e l _ 0 ( 中間容器 )J p a n e l _ 1 ( 中間容器 ) J p a n e l _ 2 ( 中間容器 )J T e x t F i e l d J b u t t o n _ 0 0… … …J b u t t o n _ 3J p a n e l _ 3 J p a n e l _ 4 J p a n e l _ 5 J p a n e l _ 6J p a n e l _ 7J b u t t o n _ 4. . .J b u t t o n _ 6J b u t t o n _ 7. . .J b u t t o n _ 1 1J b u t t o n _ 1 2. . .J b u t t o n _ 1 6J b u t t o n _ 1 7. . .J b u t t o n _ 2 1J b u t t o n _ 2 2. . .J b u t t o n _ 2 6菜單條 m B a r查看菜單歷史記錄菜單項(xiàng)用戶信息菜單項(xiàng) 211界面布局 2)注冊(cè)模塊流程圖添加注冊(cè)面板用戶在登陸界面中注冊(cè)賬號(hào)單擊注冊(cè)按鈕 填寫(xiě)個(gè)人信息判斷兩次密碼輸入是否一直輸出錯(cuò)誤信息 完成注冊(cè),返回登入界面否 是212用戶注冊(cè)模塊圖53)查詢模塊流程圖用戶在主窗口左邊的菜單上點(diǎn)查看顯示參看選項(xiàng)選擇查詢選項(xiàng) 顯示查詢數(shù)據(jù)關(guān)閉查詢界面,顯示計(jì)算器主界面213查詢模塊圖4) 計(jì)算模塊流程圖輸入計(jì)算數(shù)字 輸入計(jì)算符號(hào)進(jìn)行計(jì)算在計(jì)算器文本框中顯示計(jì)算結(jié)果將計(jì)算結(jié)果存到歷史記錄文件中214計(jì)算模塊圖6各功能模塊實(shí)現(xiàn)的功能為:登錄模塊:對(duì)登錄用戶進(jìn)行判斷是否合法,方便對(duì)用戶查詢計(jì)算歷史記錄查詢的管理。用戶信息輸入信息是否合法用戶登錄到主界面是彈出錯(cuò)誤信息否輸入登錄界面自動(dòng)跳轉(zhuǎn)驗(yàn)證 用戶登錄模塊框圖8 用戶登陸界面此JavaScript函數(shù)的作用是檢測(cè)用戶登陸的合法性,并確認(rèn)用戶輸入了合法的登錄名和口令。 (name)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { if (pareUserData(().trim(), new String(()))){ (false)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { {9 (false)。 }簡(jiǎn)單的用戶信息注冊(cè),為用戶節(jié)約不必要的時(shí)間。 (name)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { if (pareUserData(().trim(), new 10String(()))){ (false)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { { (false)。 }11 系統(tǒng)主界面 系統(tǒng)主界面為了操作的簡(jiǎn)單明了,我們采用了Flowlayout布局和Gridlayout布局,簡(jiǎn)潔明了。 //在菜單條上添加查看菜單 (mBar)。12(new GridLayout(1, 3, 10, 10))。(bt0)。(new GridLayout(1, 5, 10, 10))。(bt23)。(bt1)。import .*。static JDialog login, addUser。 //設(shè)置窗口的大?。▽挾群透叨龋? (300, 300)。JPanel p3 = new JPanel()。 //創(chuàng)建標(biāo)題名為Sin的按鈕組件,進(jìn)行sin 函數(shù)計(jì)算JButton bt = new JButton(Cos)。JButton bt8 = new JButton(8)。JButton bt16 = new JButton(Mod)。JButton bt24 = new JButton(.)。(this)。(this)。(this)。(this)。 //在菜單條上添加查看菜單 (mBar)。(new GridLayout(1, 3, 10, 10))。(bt0)。(new GridLayout(1, 5, 10, 10))。(bt23)。(bt1)。}if (().equals(2)) {if (().equals(0))(2)。}if (().equals(6)) {if (().equals(0))(6)。}if (().equals(0)) {if (().equals(0))(0)。s=sin(+(temp)+)=+(jie)。save(s)。s=null。}if (().equals(Len)) {//求e 為底數(shù)的對(duì)數(shù)yi = (())。yi=yi。save(s)。}if (().equals(*)) {//乘法yi = (())。()。s=Sqrt(+(temp)+)=+(jie)。save(s)。case 2:jieg = (yi * er)。s=null。((jieg))。 (name)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { if (pareUserData(().trim(), new String(()))){ (false)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { { (false)。 } /********************用戶名密碼的確認(rèn)*******************************/ private boolean pareUserData(String name, String password) { try {RandomAccessFile out = new RandomAccessFile(, rw)。}()。(new JLabel(密碼:, ), 1)。Box box21 = ()。((8))。JButton confirm = new JButton(確定 )。if (() == cb1)sex = Sex:Boy。}}})。} catch (IOException e) {()。 (null)。 } catch(IOException e) { ()。 try { File file = new File()。 } (true)。 ()。}}