【正文】
添加登入按鈕 final JDialog regDialog = new JDialog(login, 注冊 , true)。)。 //設(shè)置顯示圖片的絕對路徑 (new JLabel(image))。 (false)。 //添加登入按鈕 final JDialog regDialog = new JDialog(login, 注冊 , true)。)。 //設(shè)置顯示圖片的絕對路徑 (new JLabel(image))。 表31 各模塊名稱功能匯總表序號 模塊名 基本功能1 登錄模塊 登錄用戶2 注冊模塊 提供新用戶注冊服務(wù)2 計算模塊 對數(shù)據(jù)進行計算,并將結(jié)果保存到歷史記錄文件中3 信息查詢 對用戶使用計算器計算的歷史記錄進行查詢和用戶信息查詢本章是實用型計算器的具體設(shè)計過程,有具體的需求分析、系統(tǒng)功能模塊。? 系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。? 開發(fā)工具包:JDK 。因此,我們開發(fā)了這個實用型計算器,它能更加便捷的服務(wù)于大眾。通過集中式的信息數(shù)據(jù)庫,將用戶信息與使用情況都存儲起來,達到數(shù)據(jù)共享,降低成本,提高效率,改進服務(wù)的目的,進而實現(xiàn)該計算器實用性的優(yōu)勢。目前,Java語言不僅是一門被廣泛使用的編程語言,而且成為軟件設(shè)計開發(fā)者應(yīng)當(dāng)掌握的一門基礎(chǔ)語言。具體要求(包括技術(shù)要求等):系統(tǒng)的功能要求:1. 可以使用計算器進行簡單的四則運算:用界面上的按鈕輸入數(shù)字和相應(yīng)的運算符,即可算出相應(yīng)的式子的答案,并且確保答案符合一定的精度要求;2. 可以使用計算器進行一定的科學(xué)運算,比如在輸入數(shù)字后,計算器可以將相應(yīng)的數(shù)字進行進制轉(zhuǎn)化,實現(xiàn)功能的同時確保一定的精度要求;3. 可以進行簡單的函數(shù)運算,比如求一個數(shù)的三角函數(shù)等;4. 具有一定的錯誤提示功能,比如輸入一個數(shù)除以0,我們將輸出錯誤的信息。Java具有平臺無關(guān)性,面向?qū)ο?,多線程,安全,動態(tài)等特點。在IT行業(yè)發(fā)達的國家,有將近60%的軟件開發(fā)人員使用Java的基礎(chǔ)培訓(xùn)工作。(3)查詢功能 該計算器的存儲功能提供給用戶對歷史信息的查詢,可以按照時間查詢。3) 用戶使用的每次運算都給予存儲,便于查詢歷史記錄。? 通過注冊賬號并登錄實現(xiàn)用戶個人實用信息的存儲并查詢。1)界面布局模塊4J f r a m e ( 計算器窗口 )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查看菜單歷史記錄菜單項用戶信息菜單項 211界面布局 2)注冊模塊流程圖添加注冊面板用戶在登陸界面中注冊賬號單擊注冊按鈕 填寫個人信息判斷兩次密碼輸入是否一直輸出錯誤信息 完成注冊,返回登入界面否 是212用戶注冊模塊圖53)查詢模塊流程圖用戶在主窗口左邊的菜單上點查看顯示參看選項選擇查詢選項 顯示查詢數(shù)據(jù)關(guān)閉查詢界面,顯示計算器主界面213查詢模塊圖4) 計算模塊流程圖輸入計算數(shù)字 輸入計算符號進行計算在計算器文本框中顯示計算結(jié)果將計算結(jié)果存到歷史記錄文件中214計算模塊圖6各功能模塊實現(xiàn)的功能為:登錄模塊:對登錄用戶進行判斷是否合法,方便對用戶查詢計算歷史記錄查詢的管理。用戶信息輸入信息是否合法用戶登錄到主界面是彈出錯誤信息否輸入登錄界面自動跳轉(zhuǎn)驗證 用戶登錄模塊框圖8 用戶登陸界面此JavaScript函數(shù)的作用是檢測用戶登陸的合法性,并確認用戶輸入了合法的登錄名和口令。 (name)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { if (pareUserData(().trim(), new String(()))){ (false)。 (new ActionListener() { public void actionPerformed(ActionEvent e) { {9 (false)。 }簡單的用戶信息注冊,為用戶節(jié)約不必要的時間。 (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)主界面為了操作的簡單明了,我們采用了Flowlayout布局和Gridlayout布局,簡潔明了。 //在菜單條上添加查看菜單 (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的按鈕組件,進行sin 函數(shù)計算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ù)的對數(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)。 } /********************用戶名密碼的確認*******************************/ 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)。 ()。}}