日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA课设日记本,java课程设计(日记本)

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA课设日记本,java课程设计(日记本) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java課程設計(日記本)

1 需求分析 日記本是很平常的東西,很多人都有記日記的習慣,有人記賬,有人記事、有人記下心情。隨著計算機技術的發展,很多家庭都買了電腦,開始上網,開始使用電腦來辦公、打字等。所寫現在也有很多的人在使用電腦寫小說,寫博客等,受此啟發我就萌生了編寫一個日記本,用電腦來寫日記的想法。 很多事我們不想忘記,于是寫進日記本里,多年后翻出來再看看,很是愜意。大多數人都使用的是紙質的日記本,這中日記很難保存,容易丟失,也容易遭到水浸等物理破壞,這樣我們的日記就丟了。同紙質的日記本相比較,用軟件日記本不僅環保,而且安全方便,不怕被別人偷看。軟件日記本可以很方便的攜帶只要存在電腦硬盤或者U盤中就可以了。 1.1用戶分析 這個軟件面向的用戶是擁有個人電腦,而其具有寫日記的習慣的人。用戶使用的軟件必須簡單容易使用,在此基礎上盡可能多的提供人性化功能,豐富軟件的內涵。同時軟件必須盡量保證不會因用戶的不當操作而使用戶受到嚴重的經濟、財產、精神損失。軟件必須具有很強的可靠性,不會無故終止運行、死機、退出等。 1.1.1用戶要求具備以下基本功能: a 編輯日記:包括改變字體大小、改變字體顏色等。 b 管理日記:包括保存及刪除日記、按日期分組日記等。 1.1.2除以上功能外,可另曾特色功能: a 音樂播放的功能。 b 編輯背景變換的功能。 c 身份驗證的功能。 d 日記文件加密存儲的功能。 1.2軟件界面與接口需求 1.2.1界面需求 界面的原則要求:方便、簡潔、美觀、一致等。整個界面要保持友好、簡易的風格。 a輸入設備:鍵盤、鼠標。 b輸出設備:顯示器。 c顯示風格:應用程序窗口界面。 1.2.2接口需求 軟件功能比較簡單,暫時不需要接口方面的需求。 1.3目標軟件其他需求 a.運行環境需求:要求安裝Java Development Kit(JDK) v1.5或以上版本環境。 b.進度要求:2009年6月底必須完成開發,并通過測試。 2 概要設計 本課程設計是一個實用的日記本程序,主要實現日記撰寫、按月份、日期分類日記、字體設置、身份認證、音樂播放、背景隨機變化等。一個普通的日記本無需使用數據庫,如果要使用數據庫則沒有適合的數據庫可以使用,桌面數據庫太小不能滿足需求,而其他大型數據庫則又昂貴而不合算,所寫我要開發的日記將以文本文件(windows下的.txt文件格式)來存儲,這樣做的好處是顯而易見的。 2.1登陸驗證 日記是個人的隱私,通常日記的擁有者不希望他人看到自己所寫的日記,為了實現基本的保密,程序進行了用戶身份認證,來確認是否有權使用。認證流程如下: 登陸窗口 登陸者身份驗證 登陸失敗:重新登陸/取消登陸 登陸成功:進入日記本 編輯日記 圖 2-1 身份驗證功能流程 2.2 日記本各部分功能 日記本的基本功能就是撰寫日記,對寫好的日記要能夠進行保存、修改、刪除等操作。這些都是一個日記本所具有的最基本的功能,除此之外本日記本還增加了其他功能。具體模塊功能有: a 編輯日記:包括改變字體大小、改變字體顏色等。 b 管理日記:包括保存及刪除日記、按日期分組日記等。 c 音樂播放的功能。 d 編輯背景變換的功能。 e 身份驗證的功能。 f 日記文件加密存儲的功能。 具體功能層出圖如下所示: 日記本 日記編寫 字體大小 字體顏色 音樂播放 背景變化 保存 刪除 編輯 大字 普通字 紅色字 藍色字 播放音樂 上一曲 下一曲 隨機變換 圖 2-2 日記本層次功能 3 詳細設計 下面是程序的全部代碼與詳細注釋。 /*************************************** * 程序文件名稱:Diary.java * 功能: 日歷本 ***************************************/ package diary; import javax.swing.*; import javax.swing.tree.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; import java.io.*; import sun.audio.*; import java.util.*; // 日記本類 class Remember extends JFrame implements TreeSelectionListener,ActionListener { JTree tree=null; inti=0,r=255,g=255,b=255; JTextArea text=new JTextArea(“ “,20,30); DefaultMutableTreeNode root; DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[13]; //對象數組 JButton b_save=new JButton(“保存“), b_del=new JButton(“刪除“), b_fontCommen=new JButton(“普通“), b_fontBig=new JButton(“大字“), b_fontRed=new JButton(“紅色“), b_fontBlue=new JButton(“藍色“), b_music_on = new JButton(“音樂ON/OFF“), b_music_n = new JButton(“上首“), b_music_p = new JButton(“下首“), b_bg=new JButton(“背景“); StringDiaryRoot=“diaries\\“; intmusic_on = 0,m_now=0;; String[]musics={“Alone.wav“, “Dreaming.wav“, “dying in the sun.wav“, “End Credits.wav“, “lolita.wav“, “Numb.wav“, “The Pary.wav“, “小茉莉.wav“}; Stream is=null; //構造方法,完成界面及樹結點初始化 ,音樂文件列表初始化 Remember() { Container con=getContentPane(); DefaultMutableTreeNode root=new DefaultMutableTreeNode(“日記本“); //設置以月份為節點的樹,不考慮閏年的影響。 for(i=1;i0.5) { // 使r,g,b三個標志RGB的變量減小一個隨機的大小小在0-50之間的數 if(c4 } if(op<=0.5) { // 使r,g,b三個標志RGB的變量增加一個隨機的大小小在0-50之間的數 if(c4 } text.setBackground(new Color(r,g,b)); } } //刪除文件 void del() { // 調用外部命令執行批處理程序 try{ Runtime ce=Runtime.getRuntime(); ce.c(“gxy.bat“); } catch(IOException e1){ } } } //登陸窗口類 class LoginWindow extends JDialog implements ActionListener { JPanel p1=new JPanel(); //定義并建立面板 JPanel p2=new JPanel(); JPanel p3=new JPanel(); JPanel p4=new JPanel(); JPanel p5=new JPanel(); JTextField txtUserName=new JTextField(15); //用戶名文本框 JPasswordField txtPwd=new JPasswordField(15);//密碼框 JButton ok=new JButton(“確定“); JButton cancel=new JButton(“取消“); public LoginWindow() { setModal(true); //設置模態 setBackground(Color.LIGHT_GRAY);//設置背景色 Container contentPane=this.getContentPane();//取出內容面板 contentPane.setLayout(new GridLayout(5,1)); //設置布局為5行1列 p2.add(new JLabel(“用戶名:“));p2.add(txtUserName); //將組件添加到中間容器 p3.add(new JLabel(“密 碼:“));p3.add(txtPwd); p4.add(ok);p4.add(cancel); ok.addActionListener(this); cancel.addActionListener(this); txtUserName.addActionListener(this); txtPwd.addActionListener(this); contentPane.add(p1); //將面板添加到內容面板 contentPane.add(p2); contentPane.add(p3); contentPane.add(p4); contentPane.add(p5); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//設置自動關閉窗口 setSize(300,220); // Dimension 類封裝單個對象中組件的寬度和高度 Dimension screen=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((screen.width-300)/2,(screen.height-220)/2); setTitle(“登錄窗口“); setResizable(false); //設置窗口大小固定 setVisible(true); } //添加事件監聽器 public void actionPered(ActionEvent e) { //處理”確定”按鈕事件 if(e.getSource()==ok||e.getSource()==txtPwd) { if(txtUserName.getText().trim().equals(“shenbaise“) //關閉登錄窗口 } else { JOptionPane.showMessageDialog(null,“用戶名或密碼錯誤!“); txtUserName.requestFocus(); //設置焦點 txtUserName.setSelectionStart(0); //設置選中文本開始位置 txtUserName.setSelectionEnd(txtUserName.getText().length()); } } //處理”取消”按鈕事件 else if(e.getSource()==cancel) { dispose(); System.exit(0); //退出程序 } else if(e.getSource()==txtUserName) //在用戶名文本框按回車移動焦點到密碼框 { txtPwd.requestFocus(); } } } // 程序主類 public class Diary { public static void main(String args[]) throws Exception { new LoginWindow(); Remember win=new Remember(); win.pack(); } } 以上是整個程序的全部代碼與詳細注釋,呈現主要包含了兩個大類,一個是日記本類,它來實現日記本編輯、保存、刪除、修改、日記分組等的管理與一些其他的附加功能比如音樂播放、背景變化等;另一個類是一個用來實現身份驗證的登錄窗口類,由它來實現最簡單的身份認證與保密的功能。 4 總結 這個日記本程序是一個非常簡單的java應用程序,但是由于經驗和能力有限,在完成這個程序時遇到了不少困難。目前本程序除了可以基本滿足寫日記的功能要求外,還增加了一些有特色的功能比如音樂播放、背景變換等,這些功能為日記本增加了不少特色。其中音樂播放以前沒有在在JAVA Application中實現起來不太容易,經過努力終于完成了音樂的循環播放。有無日記的節點標記也是一個難點,最后通過在節點后面加星號的形似得到了基本實現,最后省份驗證的內容比較難,本來想同過數據庫并做加密存儲來實現但是因為工作兩太大,最終還是沒能完成,而僅是將密碼存儲在程序中了。然而這和最初的設想還有不小的差距。首先,由于時間有限未能對日記做很好的加密,而是直接以windows下記事本的形式存儲了,這樣一來保密性就不好了;另外,為窗體設置背景圖片的設想也沒能完成;身份認證也沒有十分完美地實現。這些都有待今后進一步完善。

總結

以上是生活随笔為你收集整理的JAVA课设日记本,java课程设计(日记本)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。