欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      java課程設計畢業(yè)論文(五篇范文)

      時間:2019-05-15 13:25:33下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《java課程設計畢業(yè)論文》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java課程設計畢業(yè)論文》。

      第一篇:java課程設計畢業(yè)論文

      許多計算機專業(yè)的同學每學期都要做個畢業(yè)設計,下面是小編整理的java課程設計畢業(yè)論文,希望對你有所幫助!

      在瀏覽器中輸入圖片網址,里面有很多的Java項目,有SSH的,還有適合初學java的新手教程

      也有安卓的教程和一些案例,也有Html5的教程

      下載方法:

      找到要下載的項目,點擊圖片中紅線標出的區(qū)域,這是真正的下載地址

      點擊按鈕后會到如圖所示的頁面,輸入驗證碼后即可下載

      第二篇:JAVA課程設計

      JAVA程序設計課程設計報告

      目 錄

      一、項目背景及意義:...............................................2

      二、系統描述...............................................................2

      三、分析與設計...........................................................3 1.分析.......................................................................3 2.功能模塊劃分.......................................................3 3.功能模塊流程圖...................................................5 4.各模塊的關鍵代碼...............................................5

      四、系統測試...............................................................5

      五、課程設計進度.....................................................13

      六、心得體會.............................................................13

      七、參考文獻.............................................................14

      八、附錄.....................................................................14

      一、項目背景及意義:

      記事本千百年來都在人類的工作生活中起到重要的作用,計算機革命電子產品未出現之前,人們的記事都是基于紙質加筆兩者的簡單記事,也即單純的文本記錄。直到計算機的出現和更新換代,高科技電子產品大行其道,人們日益將在紙質上的記事轉移到將事件記錄在個人電子設備如PC上,現在基于電子移動設備如手機和平板等的記事本app開發(fā)更是迅猛,功能更加豐富多彩,能記錄的不單純是文本了,人們能將聲音和圖片甚至視頻結合起來,將一件事“有聲有色”地記錄下來,保存在個人電子設備產品中。近年來產生的采用云存儲技術的“云筆記”,更是能讓人們隨時隨地將集文本、語音、圖像和視頻于一體的事件記錄保存在所謂的“云端”,能同步到個人其他設備中,解決了個人資料和信息跨平臺跨地點的管理問題。

      現在我們以有限的資源以及智慧力量,用Java語言編寫一個可以在裝有jar模擬器的個人電子移動設備上使用的簡單記事本軟件,沒視頻記錄功能和基于網絡功能但卻能集文本、聲音和圖像于一起記錄的功能的記事本,我們將輕便和簡潔走向極致!所以此記事本軟件操作起來簡單易上手,能給帶來同學簡單便捷的記事體驗。另外,這不單純是個人人都可以打開的記事本,使用時需要賬號密碼登陸,因此能較好地保障個人隱私。

      二、系統描述

      Java的前身是Oak,它一開始只是被應用于消費性電子產品中。后來它的開發(fā)者們發(fā)現它還可以被用于更大范圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標志Java2的誕生。十多年來,Java編程語言及平臺成功地運用在網絡計算及移動等各個領域。Java的體系結構由Java語言、Java class、Java API、Java虛擬機組成。它具有簡單、面向對象、健壯、安全、結構中立、可移植和高效能等眾多優(yōu)點。Java支持多線程編程,Java運行時系統在多線程同步方面具有成熟的解決方案。Java的平臺標準有Java ME,Java SE和Java EE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開發(fā)工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 簡稱JDK是大多開發(fā)工具的基礎。以上的每種開發(fā)工具都有優(yōu)缺點,對于開發(fā)者來說,重要的是要根據自己的開發(fā)規(guī)模、開發(fā)內容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。

      在本程序設計中,因為需要開發(fā)的是記事本程序,規(guī)模較小,內容較少,所以選擇了適合初學者使用的eclipse開發(fā)工具。

      三、分析與設計

      1.分析

      現在網絡上各種文檔編輯器數不勝數,有EmEditor,UEStudio,GridinSoft Notepad,Notepad++,win32pad,SkimEdit,UniRed,xint。功能也是應有盡有,有能改變字體的,有能改變文字顏色的。但是,這些軟件又存在各種各樣的瑕疵或問題:有的文件體積相對于一般文字編輯來說太大;有的功能太繁雜,使初級使用者一時難以掌握。僅從日常應用方面來說,一個文本編輯器只需一些簡單實用的功能就夠了。本程序設計就是依照這樣一種使用需要設計了一個簡單的筆記本程序。2.功能模塊劃分

      程序構建的記事本程序具有Windows系統記事本工具基本功能,并且能夠創(chuàng) 建多個不同的用戶和保存圖片功能。以下是具體說明: 第一部 登陸界面

      (1)用戶名和密碼輸入文本框,供已注冊的用戶輸入用戶名和密碼。(2)登陸控件,在用戶名和密碼正確的前提下,進入軟件主界面。

      (3)注冊控件,點擊此按鈕,將進入用戶創(chuàng)建,創(chuàng)建之后用戶名和密碼會自動保存在電腦的相應文件中。第一部分 菜單欄

      (1)菜單中有“新健”,“刪除”,“顯示”,“菜單”,“幫助”五個主菜單。(2)“新建”有“新建筆記”“新建筆記本”二個子菜單:分別用于創(chuàng)建新的筆記和新的筆記本。

      (3)“刪除”中有“刪除筆記”和“刪除筆記本”二個子菜單,和“新建”相對應。

      (4)“顯示”中可以選擇界面的風格,有Metal風格、Windows風格、Motif風格、Nimbus風格;還有界面排版的選擇,可以選擇水平顯示或垂直顯示。(5)“幫助”菜單中有關于筆記本程序的說明,作者等信息。第二部分 筆記本排列區(qū)

      顯示用戶創(chuàng)建的所有筆記本。第三部分 筆記顯示排列區(qū)

      此處主要顯示選中筆記本中的所有筆記,并且可以在此區(qū)右擊來創(chuàng)建、刪除筆記、查看筆記,當然也可以在菜單欄中的“新建”和“刪除”菜單中創(chuàng)建和刪除筆記。

      第四部分 筆記編輯區(qū)

      此部分為用戶設計選擇操作和右鍵操作,可以在筆記中插入圖片、更改字體顏色、和插入時間;方便用戶進行一系列的編輯操作,增強本記筆記本的用戶體驗性能。

      3.功能模塊流程圖

      4.各模塊的關鍵代碼

      1構造函數創(chuàng)建窗口界面 主菜單,子菜單

      public MainFrame(String name){

      this.name=name;

      this.setUser_path(“Users/”+name);

      this.setBook_Path(this.getUser_path()+“/默認筆記本”);

      this.setNote_Path(this.getBook_Path()+“/默認筆記”);//

      一、菜單界面

      menu=new Menu(this);

      /**

      二、創(chuàng)建三個JPanel *1.l筆記正文 TextPanel

      *2.筆記名目錄及查找方式 DirectoryPanel *3.筆記類型目錄及排序方式選擇 NoteTypePane */

      /*筆記正文部分*******/ TextPanel=new JPanel();rightPanel=new RightPanel(TextPanel,this);

      } /*文件名目錄部分******/

      DirectoryPanel=new JPanel();midPanel =new MidPanel(DirectoryPanel,this);/*筆記類型目錄部分*****/

      NoteTypePanel =new JPanel();leftPanel=new LeftPanle(NoteTypePanel,this);leftPanel.update_Left_view();

      //

      三、處理拆分窗格

      splitM_R =new JSplitPane(1,DirectoryPanel,TextPanel);splitM_R.setOneTouchExpandable(true);splitL_M =new JSplitPane(1,NoteTypePanel,splitM_R);splitL_M.setOneTouchExpandable(true);this.add(splitL_M);

      //

      四、設置標題等

      this.setTitle(name+“ 的筆記本”);this.setLocation(200,100);this.setSize(1000,600);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);2 添加右鍵菜單并為其添加監(jiān)聽器

      public RightPanel(JPanel panel,MainFrame mainFrame)

      { this.mainFrame=mainFrame;this.panel=panel;

      //創(chuàng)建一個 文本域存放文字 JTextArea textPane =new JTextPane();//設置自動換行

      textPane.setFont(new Font(“", 1, 12));jsp_Pane=new JScrollPane(textPane);//滾輪

      //設置鼠標右擊彈框效果

      //cut

      cutItem=new JMenuItem(”Cut“,new ImageIcon(”image/cut.png“));

      cutItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl x“));//設置快捷鍵 ”ctrl x“

      cutItem.addActionListener(this);

      //copy

      copyItem=new JMenuItem(”Copy“,new ImageIcon(”image/copy.png“));

      copyItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl x“));//設置快捷鍵 ”ctrl O“

      copyItem.addActionListener(this);

      //paste

      pasteItem=new JMenuItem(”Paste“,new ImageIcon(”image/haha.png“));

      pasteItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl v“));//設置快捷鍵 ”ctrl v“

      pasteItem.addActionListener(this);

      saveItem=new JMenuItem(”Save“,new ImageIcon(”image/save.png“));

      saveItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl s“));

      saveItem.addActionListener(this);

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      if(e.getActionCommand()==”Cut“){//剪切

      textPane.cut();}else if(e.getActionCommand()==”Copy“){//復制

      textPane.copy();}else if(e.getActionCommand()==”Paste“){//粘貼

      textPane.paste();}else if(e.getActionCommand()==”Save“){//保存

      this.book_Save();}else if(e.getSource()==image_Button){//插入圖片

      String temp=Tools.open_Choose();if(!temp.equals(”not“)){

      textPane.insertIcon(new ImageIcon(temp));}

      }else if(e.getSource()==font_Button){//修改字體顏色

      Color c=JColorChooser.showDialog(this, ”Color“, Color.black);textPane.setForeground(c);}else if(e.getSource()==timeButton){//插入時間

      Date now = new Date();SimpleDateFormat dateFormat = new SimpleDateFormat(”yyyy/MM/dd HH:mm:ss“);//可以方便地修改日期格式

      String hehe = dateFormat.format(now);

      textPane.replaceSelection(hehe);

      } 設為Document類型

      public static void setDocument(File file){

      try {

      } JTextPane tempPane=new JTextPane();FileOutputStream outputStream=new FileOutputStream(file);ObjectOutputStream oos=new ObjectOutputStream(outputStream);oos.writeObject(tempPane.getDocument());

      oos.close();} catch(FileNotFoundException e){ // TODO Auto-generated catch block

      e.printStackTrace();} catch(IOException e){ // TODO Auto-generated catch block

      e.printStackTrace();} 系統測試

      1、筆記本登陸、用戶注冊

      3、菜單欄 a.總菜單

      b.新建菜單

      c.刪除菜單

      d.顯示菜單

      e.“菜單”菜單

      f.幫助 4.導入筆記、導出筆記、及插入圖片選擇

      5.字體顏色選擇

      6.插入時間

      7、插入圖片

      四、課程設計進度

      我們進行了若干階段的部署,令課題研究可以在每個階段有條不紊地進行。具體如下:

      (一)理論學習和開題論證

      1.瀏覽相關網站,查閱與課題研究的相關理論、研究方法; 2.運用文獻研究法,深入學習java理論,對要有關課題研究的知識進行理論上的研究和探討。3,制訂研究計劃和方案。

      (二)第一階段

      1.以調查法為主開展研究。(1)對有關java的課題設計進行調查,查閱網絡上java應用的設計案例,并分析和總結,尋找思路。(2)對更新頻率快的java應用進行追蹤,采取觀察,評價、討論的方式分析和總結。

      2.制訂第二階段實驗方案,為下階段實驗做準備。

      (三)第二階段

      1.按計劃在繼續(xù)第一階段實驗的基礎上,進一步加強java應用的實施和研究。采用實驗法對上一階段的總結的結論進行驗證和拓展。

      2.讓同學體驗一下我們初步完成的作品,根據他們用完之后的感受,進一步修正作品存在的問題,完善作品。

      (四),總結階段

      1.收集和整理研究資料,參照相關書籍分析和研究實驗情況 2.制訂總結階段計劃 3.總結和提煉研究成果 4.全面總結實驗工作 5.解題論證

      6.成果展示(課題報告)(五)總結階段(2013.12)整理材料,撰寫課題報告。

      五、心得體會

      此次課程設計由我們小組一起共同合作完成,花費了差不多兩個月的時間。在這期間我們共同協作,互幫互助取得了很好的效率,也為我們構建友好的同學關系,學習氣氛良好做出了一定的貢獻。在這期間我領略到了團隊協作的重要性,13 也看到了團隊合作的高效率性。還有通過這次試驗我們領悟到了團隊的力量是巨大的,也學習到的一些學習方法,比如追查API,如何在短時間內學習一個自己不懂的東西那就是利用好所有的搜索引擎,多去圖書館找資料??傊舜握n程設計我們不僅長了學科知識,在生活上我也長了見識。

      六、參考文獻

      a.黃曉東 等編著 Java課程設計案例精編(第二版)[M].北京:中國水利水電出版社,2007 b.李興華 等編著 Java開發(fā)實戰(zhàn)經典Java開發(fā)實戰(zhàn)經典 北京:清華大學出版社,2009 C.李尊朝 蘇軍 Java程序設計(第二版)圖形用戶界面設計、Swing組件 中國鐵道出版社,2007

      七、附錄

      1.程序結構 2.程序

      (1)Tools.java package common;

      import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;

      import javax.swing.*;

      public class Tools {

      /**打開選擇框 返回詳細地址*/ public static String open_Choose(){

      JFileChooser jfc1=new JFileChooser();

      jfc1.setDialogTitle(”請選擇...“);

      int judge=jfc1.showOpenDialog(null);

      jfc1.setVisible(true);

      //得到文件的完全路徑

      if(judge==JFileChooser.APPROVE_OPTION)

      return(jfc1.getSelectedFile().getAbsolutePath());

      else

      return ”not“;} /**保存選擇框 返回詳細地址*/ public static String save_Choose(){

      JFileChooser jfc1=new JFileChooser();

      jfc1.setDialogTitle(”請選擇...“);

      int judge=jfc1.showSaveDialog(null);

      jfc1.setVisible(true);

      //得到文件的完全路徑

      if(judge==JFileChooser.APPROVE_OPTION)

      return(jfc1.getSelectedFile().getAbsolutePath());

      else

      return ”not“;

      }

      /**顯示對話框,需要傳遞 標題和顯示內容*/ public static void showMessage(String text,String title){

      JOptionPane.showMessageDialog(null,text,title,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);} /**新建筆記時將筆記設為Document類型,方便存儲圖片,在本地不能打開*/ public static void setDocument(File file){

      try {

      JTextPane tempPane=new JTextPane();

      FileOutputStream outputStream=new FileOutputStream(file);

      ObjectOutputStream oos=new ObjectOutputStream(outputStream);

      oos.writeObject(tempPane.getDocument());

      oos.close();

      } catch(FileNotFoundException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      } } /**刪除文件 傳一個文件地址 返回一個boolean 為了方便刪除文件夾才將此方法提取出來*/ public static boolean deleteFile(String path){

      File file=new File(path);

      return(file.delete());}

      /**刪除文件 傳一個文件地址

      返回一個boolean 先刪除里面的文件再刪除文件夾*/ public static boolean deleteFolder(String path){

      File folder=new File(path);

      File[] list=folder.listFiles();

      for(int i=0;i

      deleteFile(path+”/“+list[i].getName());

      return(folder.delete());} }

      (2)User.java package common;/** * 處理用戶屬性

      * 為用戶創(chuàng)建自己的專有途徑

      * 如果有了則不創(chuàng)建

      */ import java.io.*;

      import javax.swing.JTextPane;import javax.swing.text.Document;

      import view.MainFrame;

      public class User {

      public User(String name)

      {

      //如果第一次登錄的話,為用戶新建一個專屬區(qū)

      File file=new File(”Users/“+name);

      if(!file.exists())

      {

      try {

      file.mkdir();

      } catch(Exception e1){

      e1.printStackTrace();

      }

      //第一次登錄創(chuàng)建默認筆記本

      File book=new File(”Users/“+name+”/默認筆記本“);

      try {

      book.mkdir();

      } catch(Exception e1){

      e1.printStackTrace();

      }

      //第一次登錄創(chuàng)建默認筆記

      File note=new File(”Users/“+name+”/默認筆記本“+”/默認筆記.ser“);

      try {

      note.createNewFile();

      Tools.setDocument(note);

      } catch(Exception e1){

      e1.printStackTrace();

      }

      }

      //構造完畢

      正式進入筆記本

      new MainFrame(name);

      }

      }

      (3)login_zhuce.java package login;

      import java.awt.*;import java.awt.event.*;import java.io.*;

      import javax.swing.*;

      import common.User;import view.MainFrame;

      public class login_zhuce extends JFrame implements ActionListener {

      JPanel jp0;JPanel jp1,jp2,jp3,jp4,jp5;JTextField jtf;JPasswordField jpf;JLabel jl1,jl2,jl3;JButton jb1,jb2,jb3;ImageIcon bg;

      public static void main(String[] args){

      // TODO Auto-generated method stub

      login_zhuce lz = new login_zhuce();}

      public login_zhuce(){

      try {//默認 NImbus風格

      UIManager.setLookAndFeel(”com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel“);

      } catch(ClassNotFoundException e){

      // TODO Auto-generated catch block

      e.printStackTrace();} catch(InstantiationException e){ // TODO Auto-generated catch block e.printStackTrace();} catch(IllegalAccessException e){ // TODO Auto-generated catch block e.printStackTrace();} catch(UnsupportedLookAndFeelException e){ // TODO Auto-generated catch block e.printStackTrace();}

      jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jp4 = new JPanel();jp1.setOpaque(false);jp2.setOpaque(false);jp3.setOpaque(false);jp4.setOpaque(false);

      //no.1 jl1 = new JLabel(”用戶名“);jtf = new JTextField(10);jp1.add(jl1);jp1.add(jtf);

      //no.2 jl2 = new JLabel(”密

      碼“);jpf = new JPasswordField(10);jp2.add(jl2);jp2.add(jpf);//3 jb1 = new JButton(”登陸“);jb1.addActionListener(this);jb1.setActionCommand(”denglu“);jb2 = new JButton(”取消“);jb2.addActionListener(this);jb2.setActionCommand(”quxiao“);jb3 = new JButton(”注冊“);jb3.addActionListener(this);jb3.setActionCommand(”zhuce“);

      jp3.add(jb1);

      jp3.add(jb2);

      jp3.add(jb3);

      this.setLayout(new GridLayout(4,1));

      this.add(jp4);

      this.add(jp1);

      this.add(jp2);

      this.add(jp3);

      bg = new ImageIcon(”image//huashi.jpg“);

      jl3 = new JLabel(bg);

      jl3.setBounds(0, 0, 300, 200);

      this.getLayeredPane().add(jl3,new Integer(Integer.MIN_VALUE));

      jp5 =(JPanel)this.getContentPane();

      jp5.setOpaque(false);//設置透明

      this.setTitle(”筆記本登陸“);

      this.setSize(300,200);

      // 獲取屏幕分辨率,以此設置程序出現在屏幕中央

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

      Dimension testSize = getSize();

      this.setLocation((screenSize.widthtestSize.width)/ 2,(screenSize.height-testSize.height)/ 2);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      public void actionPerformed(ActionEvent e){

      if(e.getActionCommand().equals(”queding“)){

      String st1 = ”ff“;

      String st2 = ”.txt“;

      String st3 = this.jtf1.getText();

      String st4 = st1 + st3 +st2;

      System.out.println(st4);

      File f = new File(st4);

      if(!f.exists()){

      String password1=new String(jtf2.getPassword());

      String password2=new String(jtf3.getPassword());

      System.out.println(password1);

      System.out.println(password2);

      if(!(password1.equals(password2))){

      JOptionPane.showMessageDialog(null, ”兩次密碼輸入不一樣,請重新輸入“, ”錯誤提示“,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);

      this.jtf2.setText(null);

      this.jtf3.setText(null);

      }

      else {

      try {

      f.createNewFile();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      FileWriter fw = null;

      BufferedWriter bw = null;

      try {

      fw = new FileWriter(st4,true);

      bw = new BufferedWriter(fw);

      bw.write(st3+”rn“);

      bw.close();

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      } finally{

      try {

      fw.close();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      try {

      fw = new FileWriter(st4,true);

      bw = new BufferedWriter(fw);

      bw.write(this.jtf2.getPassword());

      bw.close();

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      } finally{

      try {

      fw.close();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      JOptionPane.showMessageDialog(null, ”創(chuàng)建賬戶成功“, ”恭喜你“,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);

      this.dispose();

      login_zhuce lz = new login_zhuce();

      }

      }

      else {

      JOptionPane.showMessageDialog(null,”該用戶名已被占用,請重新輸入用戶名“,”錯誤提示“,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);

      System.out.println(”該用戶名已被占用,請重新輸入用戶名“);

      this.jtf1.setText(null);

      } //

      if(this.jpf1.getText()!=this.jpf2.getText()){ //

      JOptionPane.showMessageDialog(null, ”兩次密碼輸入不一樣,請重新輸入“, ”錯誤提示“, //

      JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);//

      this.jpf1.setText(null);//

      this.jpf2.setText(null);//

      }

      }

      else if(e.getActionCommand().equals(”quxiao“)){

      this.dispose();

      System.exit(0);

      } } }

      (5)LefgPanle.java package view;/** * 將卡片布局修改 修改成僅有兩片

      * 第一片 所有筆記 按鈕

      * 第二片 所有筆記 目錄

      */ import java.awt.*;import java.awt.event.*;import java.io.*;

      import javax.swing.*;

      public class LeftPanle extends JPanel implements ActionListener,MouseListener{

      /**************筆記本類型部分聲明*****************/ CardLayout cardLayout;//卡片布局的方式

      JPanel firstPanel,secondPanel;//分別存儲兩片

      //第一片聲明

      JPanel allBookPanel,firstTempPanel;//所有筆記

      JButton allBook;//所以筆記,排序,回收站的按鈕

      JScrollPane allBookjsp;//第二片聲明

      JPanel secondTempPanel,timePaenl_o;JButton allBook_o;//所以筆記,排序,回收站的按鈕

      JScrollPane timePaenljsp_o;

      //處理文件部分內容

      File book;String [] book_name;JLabel[] member;

      JPanel panel;MainFrame mainFrame;public final int TOTAL=20;

      /**************筆記本類型部分聲明結束*****************/

      public LeftPanle(JPanel panel,MainFrame mainFrame){ this.mainFrame=mainFrame;this.panel=panel;//處理第一片***11111111111 //設置初始界面 顯示 所以筆記,排序,回收站的按鈕

      //ImageIcon imageIcon=new ImageIcon(”image/note.png“);allBook=new JButton(”所有筆記“,new ImageIcon(”image/expand.png“));allBook.addActionListener(this);//點擊按時間排序時顯示第二片

      allBookPanel=new JPanel(new GridLayout(TOTAL,1,1,4));member=new JLabel[TOTAL];for(int i=0;i

      member[i]=new JLabel(”“);

      member[i].addMouseListener(this);}

      allBookjsp=new JScrollPane(allBookPanel);//滾動

      firstPanel=new JPanel(new BorderLayout());//將第一片設置為邊界布局

      firstPanel.add(allBook,”North“);firstPanel.add(allBookjsp);

      //處理第二片***222222 //僅有一個按鈕

      allBook_o=new JButton(”所有筆記“,new ImageIcon(”image/collapse.png“));allBook_o.addActionListener(this);//點擊所有筆記時 顯示第一片

      secondPanel=new JPanel(new BorderLayout());//將第二片設為 邊界布局

      secondPanel.add(allBook_o,”North“);

      //進行卡片布局

      cardLayout=new CardLayout();panel.setLayout(cardLayout);panel.add(firstPanel,”1“);panel.add(secondPanel,”2“);

      } //更新leftPanel中的筆記本,在新建或刪除筆記本是需要刷新

      并附帶刷新右邊兩個Panel public void update_Left_view(){

      book=new File(mainFrame.getUser_path());

      book_name=book.list();

      if(book.exists())

      {

      for(int i=0;i

      {

      member[i].setText(”“);

      member[i].setIcon(null);

      member[i].removeMouseListener(this);

      }

      for(int i=0;i

      {

      //為每個好友設置頭像和名字,每一個好友用 JLabel組件 存放

      ImageIcon imageIcon=new ImageIcon(”image/note.png“);

      member[i].setText(book_name[i]);

      member[i].setIcon(imageIcon);

      member[i].addMouseListener(this);//為每一種筆記的排序方式注冊監(jiān)聽

      allBookPanel.add(member[i],i);//將筆記添加到所有筆記面板

      }

      mainFrame.setBook_Path(mainFrame.getUser_path()+”/“+book_name[0]);

      mainFrame.midPanel.update_Mid_View();

      } }

      @Override public void mouseClicked(MouseEvent e){

      // TODO Auto-generated method stub

      //將選中部分字體設為紅色

      JLabel jl = null;

      for(int i=0;i

      {

      if(e.getComponent().equals(member[i]))

      {

      jl=(JLabel)e.getSource();

      jl.setForeground(Color.red);

      }

      else

      {

      member[i].setForeground(Color.black);

      // //

      // //

      }

      } //保存當前筆記本的路徑 如...mainFrame.setBook_Path(book.getAbsolutePath()+”“+jl.getText());//點擊打開一個筆記本

      刷新中間的目錄

      mainFrame.midPanel.update_Mid_View();

      } @Override public void mousePressed(MouseEvent e){ // TODO Auto-generated method stub

      } @Override public void mouseReleased(MouseEvent e){ // TODO Auto-generated method stub

      } @Override public void mouseEntered(MouseEvent e){ // TODO Auto-generated method stub JLabel jl=(JLabel)e.getSource();jl.setForeground(Color.red);//jl.setFont(new Font(”“,1,30));//在筆記本界面操作 允許刪除筆記本 不允許刪除筆記

      mainFrame.menu.delete_item[0].setEnabled(false);//不允許刪除筆記

      mainFrame.menu.delete_item[1].setEnabled(true);//允許刪除筆記本 } @Override public void mouseExited(MouseEvent e){ // TODO Auto-generated method stub JLabel jl=(JLabel)e.getSource();jl.setForeground(Color.black);//jl.setFont(new Font(”“,1,12));} @Override public void actionPerformed(ActionEvent e){ // TODO Auto-generated method stub if(e.getSource()==allBook){

      //cardLayout.show(this.getContentPane(), ”2“);

      cardLayout.next(panel);}else if(e.getSource()==allBook_o){

      //cardLayout.show(this.getContentPane(), ”1“);

      cardLayout.next(panel);

      } }

      }

      (6)MainFrame.java package view;/** * 筆記本 java版

      *

      1、將主界面分為四塊 北邊的菜單 以及左中右的筆記本目錄,筆記目錄和筆記內容

      *

      2、左邊目錄為卡片布局,實現點了”所有筆記“彈出所有筆記的效果

      *

      3、中間顯示筆記目錄 采用網格布局 每個網格用了JMenuItem *

      4、右邊是一個JTextArea可能會改成JTextPane *

      5、實現了新建刪除筆記(本),但界面刷新有點問題(會重疊)

      *

      6、采用MVC的思想實現時事刷新界面的效果

      *

      7、鼠標右擊刪除新建 測試成功(鼠標右擊是筆記本的新建與刪除沒有)

      *

      8、注冊登錄系統 已測試成功 在包login里面

      *

      9、圖片的問題已成功解決

      *

      10、可以更改字體顏色(大小沒有寫),以及插入時間等

      *

      11、顯示處添加實現多種版本的切換(如可切換成windows)

      */

      import java.awt.*;import java.awt.event.*;import javax.swing.*;

      import common.User;

      public class MainFrame extends JFrame implements ActionListener{

      Menu menu;//連接菜單欄

      JPanel NoteTypePanel,DirectoryPanel,TextPanel;//三個大Panel JSplitPane splitM_R,splitL_M;

      LeftPanle leftPanel;//左邊第一個Panel MidPanel midPanel;//連接中間Panel RightPanel rightPanel;//連接右邊Panel

      //存放路徑

      public String name=null;public String user_path=null;public String book_Path=null;public String note_Path=null;

      public MainFrame(String name){

      this.name=name;

      this.setUser_path(”Users/“+name);

      this.setBook_Path(this.getUser_path()+”/默認筆記本“);

      this.setNote_Path(this.getBook_Path()+”/默認筆記“);

      //

      一、菜單界面

      menu=new Menu(this);

      /**

      二、創(chuàng)建三個JPanel

      *1.l筆記正文 TextPanel

      *2.筆記名目錄及查找方式

      DirectoryPanel

      *3.筆記類型目錄及排序方式選擇

      NoteTypePane

      */

      /*筆記正文部分*******/

      TextPanel=new JPanel();

      rightPanel=new RightPanel(TextPanel,this);

      /*文件名目錄部分******/

      DirectoryPanel=new JPanel();

      midPanel =new MidPanel(DirectoryPanel,this);

      /*筆記類型目錄部分*****/

      NoteTypePanel =new JPanel();

      leftPanel=new LeftPanle(NoteTypePanel,this);

      leftPanel.update_Left_view();

      //

      三、處理拆分窗格

      splitM_R =new JSplitPane(1,DirectoryPanel,TextPanel);

      splitM_R.setOneTouchExpandable(true);

      splitL_M =new JSplitPane(1,NoteTypePanel,splitM_R);

      splitL_M.setOneTouchExpandable(true);

      this.add(splitL_M);

      //

      四、設置標題等

      this.setTitle(name+” 的筆記本“);

      this.setLocation(200,100);

      this.setSize(1000,600);

      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      } this.setVisible(true);} //為了方便后面的垂直和水平顯示 public void showStyle(int show){ this.remove(splitL_M);//先把以前的去掉重新添加

      splitM_R =new JSplitPane(show,DirectoryPanel,TextPanel);splitM_R.setOneTouchExpandable(true);

      splitL_M =new JSplitPane(1,NoteTypePanel,splitM_R);splitL_M.setOneTouchExpandable(true);this.add(splitL_M);this.setVisible(true);}

      @Override public void actionPerformed(ActionEvent e){ // TODO Auto-generated method stub }

      public String getUser_path(){ return user_path;} public void setUser_path(String user_path){ this.user_path = user_path;} public String getBook_Path(){ return book_Path;} public void setBook_Path(String book_Path){ this.book_Path = book_Path;} public String getNote_Path(){ return note_Path;} public void setNote_Path(String note_Path){ this.note_Path = note_Path;}

      (7)package view;

      import java.awt.*;import java.awt.event.*;import java.io.*;

      import javax.swing.*;import javax.swing.text.Document;import javax.swing.text.StyledDocument;

      import common.Tools;import common.User;import login.login_zhuce;

      public class Menu extends JFrame implements ActionListener{

      //菜單部分聲明

      JMenuBar menuBar=null;//菜單主干

      JMenu newNote_menu,deliteNote_menu,show_menu,menu_menu,help_menu;//菜單組件

      樹干

      //處理新建筆記菜單 newNote_menu JMenuItem[] newNote_item={

      new JMenuItem(”新建筆記“),new JMenuItem(”新建筆記本“)

      };//處理刪除deliteNote_menu JMenuItem[] delete_item={

      new JMenuItem(”刪除筆記“),new JMenuItem(”刪除筆記本“)

      };

      //處理顯示

      JMenuItem[] show_item={

      new JMenuItem(”Metal風格“),new JMenuItem(”Windows風格“),new JMenuItem(”Motif風格“),new JMenuItem(”Nimbus風格“),new JMenuItem(”水平顯示“),new JMenuItem(”垂直顯示“)

      };

      //處理menu_menu JMenuItem[] menu_item={

      new JMenuItem(”丨賬戶“),new JMenuItem(”丨導入“),34

      new JMenuItem(”丨導出“),new JMenuItem(”丨注銷“),new JMenuItem(”丨退出“)

      };

      //處理help_menu JMenuItem[] help_item={

      new JMenuItem(”關于作者“),new JMenuItem(”關于筆記本“)};

      MainFrame mainFrame;

      public Menu(MainFrame mainFrame){ this.mainFrame=mainFrame;//

      一、先處理菜單

      menuBar=new JMenuBar();//各菜單menu[0]menu[1]menu[2]menu[3]menu[4] newNote_menu=new JMenu(”新建“);deliteNote_menu=new JMenu(”刪除“);deliteNote_menu.setToolTipText(”選中筆記(本)時才可刪除“);show_menu=new JMenu(”顯示“);help_menu=new JMenu(”幫助“);menu_menu=new JMenu(”菜單“);

      //將菜單項添加到各菜單

      for(int i=0;i

      菜單

      newNote_menu.add(newNote_item[i]);for(int i=0;i

      deliteNote_menu.add(delete_item[i]);for(int i=0;i

      show_menu.add(show_item[i]);for(int i=0;i

      help_menu.add(help_item[i]);for(int i=0;i

      {

      menu_menu.add(menu_item[i]);

      if(i==0||i==2)//添加分隔線 將導入和導出框起來

      menu_menu.addSeparator();}

      //添加事件監(jiān)聽

      for(int i=0;i

      newNote_item[i].addActionListener(this);

      for(int i=0;i

      delete_item[i].addActionListener(this);

      for(int i=0;i

      show_item[i].addActionListener(this);

      for(int i=0;i

      help_item[i].addActionListener(this);

      for(int i=0;i

      menu_item[i].addActionListener(this);

      //將菜單 添加到主干中

      menuBar.add(newNote_menu);

      menuBar.add(deliteNote_menu);

      menuBar.add(show_menu);

      menuBar.add(menu_menu);

      menuBar.add(help_menu);

      mainFrame.add(menuBar,”North“);

      } //構造完畢

      //實現風格轉換

      private void changeFlavor(int flavor)throws Exception

      {

      switch(flavor)

      {

      case 1:

      UIManager.setLookAndFeel(”javax.swing.plaf.metal.MetalLookAndFeel“);

      break;

      case 2:

      UIManager.setLookAndFeel(”com.sun.java.swing.plaf.windows.WindowsLookAndFeel“);

      break;

      case 3:

      UIManager.setLookAndFeel(”com.sun.java.swing.plaf.motif.MotifLookAndFeel“);

      break;

      case 4:

      UIManager.setLookAndFeel(”com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel“);

      break;

      }

      SwingUtilities.updateComponentTreeUI(this.getContentPane());

      SwingUtilities.updateComponentTreeUI(mainFrame);

      } //實現監(jiān)聽后的動作

      @Override public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      String str=e.getActionCommand();

      if(str.equals(”新建筆記“)){

      String note_name=null;

      note_name=JOptionPane.showInputDialog(null,”請輸入筆記的名字“,”新筆記“,JOptionPane.INFORMATION_MESSAGE |JOptionPane.OK_OPTION);

      //如果用戶點取消 或沒有輸入文件名

      則不用新建

      if(note_name!=null){

      File file=new File(mainFrame.book_Path+”/“+note_name+”.ser“);

      if(!file.exists())

      {

      try {

      file.createNewFile();

      //將新建的筆記格式設為Document對象

      Tools.setDocument(file);

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      //刷新中間和左邊的Panel

      mainFrame.midPanel.update_Mid_View();

      }

      }

      }else if(str.equals(”新建筆記本“)){

      String book_name=null;

      book_name=JOptionPane.showInputDialog(null,”請輸入筆記的名字“,”新筆記“,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);

      if(book_name!=null){

      File file=new File(mainFrame.getUser_path()+”/“+book_name);

      //System.out.println(”User_path:“+mainFrame.getUser_path());

      if(!file.exists())

      {

      try {

      file.mkdir();

      //將筆記本路徑設為新建筆記本的路徑

      mainFrame.setBook_Path(mainFrame.getUser_path()+”/“+book_name);

      mainFrame.leftPanel.update_Left_view();

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      //改變的筆記本總數

      刷新左邊Panel

      mainFrame.leftPanel.update_Left_view();

      }

      }

      }else if(str.equals(”刪除筆記“)){

      Tools.deleteFile(mainFrame.getNote_Path());

      //刪除筆記之后需要刷新右邊的兩個Panel

      mainFrame.midPanel.update_Mid_View();

      }else if(str.equals(”刪除筆記本“)){

      Tools.deleteFolder(mainFrame.book_Path);

      //筆記本目錄發(fā)生改變

      mainFrame.leftPanel.update_Left_view();

      }else if(str.equals(”關于作者“)){

      Tools.showMessage(”鄧偉杰、蘇俊欽、陳通、陳盛鋒、林健祺、尹國瑜、溫天宇、趙潮順“, ”幫助“);

      }else if(str.equals(”關于筆記本“)){

      Tools.showMessage(”還存在許多BUG,望老師指正“, ”呵呵“);

      }else if(str.equals(”丨賬戶“)){

      Tools.showMessage(”姓名:“+mainFrame.name, ”用戶信息“);

      }else if(str.equals(”丨導入“)){//即打開一個筆記

      String temp=Tools.open_Choose();

      if(!temp.equals(”not“))

      {

      FileInputStream inputStream=null;

      ObjectInputStream ois=null;

      try {

      inputStream=new FileInputStream(Tools.open_Choose());

      ois=new ObjectInputStream(inputStream);

      mainFrame.rightPanel.textPane.setDocument((Document)ois.readObject());

      mainFrame.rightPanel.book_Save();

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }finally{

      try {

      ois.close();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      } } }else if(str.equals(”丨導出“)){//即另存為一個筆記

      String temp=Tools.open_Choose();if(!temp.equals(”not“)){

      FileOutputStream outputStream=null;

      ObjectOutputStream oos=null;

      try {

      outputStream=new FileOutputStream(Tools.save_Choose());

      oos=new ObjectOutputStream(outputStream);

      oos.writeObject(mainFrame.rightPanel.textPane.getDocument());

      } catch(Exception e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }finally{

      try {

      oos.close();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      } } }else if(str.equals(”丨注銷“)){ mainFrame.dispose();new login_zhuce();//注銷之后重新登錄 }else if(str.equals(”丨退出“)){ System.exit(0);}else if(str.equals(”垂直顯示“)){ mainFrame.showStyle(0);//重新調用一下拆分窗格 }else if(str.equals(”水平顯示“)){ mainFrame.showStyle(1);}else {

      try{

      if(str.equals(”Metal風格“)){

      this.changeFlavor(1);

      }else if(str.equals(”Windows風格“)){

      this.changeFlavor(2);

      }else if(str.equals(”Motif風格“)){

      this.changeFlavor(3);

      }else if(str.equals(”Nimbus風格“)){

      this.changeFlavor(4);

      }

      }catch(Exception e1){

      e1.printStackTrace();

      }

      }

      }

      }

      (8)Midpanel.java package view;

      import java.awt.*;

      import javax.swing.*;import javax.swing.text.Document;

      import common.Tools;

      import java.awt.event.*;import java.io.*;

      public class MidPanel extends JPanel

      implements ActionListener,MouseListener{

      JPanel panel;MainFrame mainFrame;/// JScrollPane jscroll2;

      JMenuItem[] items;File lists[];

      JPanel jp1;

      //鼠標右擊部分

      JPopupMenu right_Click;

      JMenuItem delete_book,properties_book,new_book;

      public final int TOTAL=20;public String filename;public String temp_path=null;//右擊時記錄選中筆記的途徑

      public MidPanel(JPanel panel, MainFrame main){

      this.panel=panel;

      this.mainFrame=main;

      jp1=new JPanel();

      jp1.setLayout(new GridLayout(TOTAL,1,1,4));

      //初始化20個MenuItem

      items =new JMenuItem[TOTAL];

      for(int j=0;j

      items[j]=new JMenuItem(”“);

      items[j].addMouseListener(this);

      }

      //處理鼠標右擊問題

      right_Click=new JPopupMenu();

      new_book=new JMenuItem(”New“);//新建筆記

      delete_book=new JMenuItem(”Delete“);//刪除筆記

      properties_book=new JMenuItem(”Properties“);

      delete_book.addActionListener(this);

      properties_book.addActionListener(this);

      new_book.addActionListener(this);

      //right_Click.right_Click.add(new_book);

      right_Click.addSeparator();

      right_Click.add(delete_book);

      right_Click.add(properties_book);

      JLabel label=new JLabel(”All Note & Note All “);

      label.setEnabled(false);

      label.setBackground(Color.gray);

      jscroll2 = new JScrollPane(jp1);//為Panel添加滾動條

      panel.setLayout(new BorderLayout());

      panel.add(label,”North“);

      panel.add(jscroll2);

      } //在新建或刪除是需要刷新,并附帶刷新

      RightPanel中的內容

      public void update_Mid_View()

      {

      File file = new File(mainFrame.getBook_Path());

      if(file.isDirectory())

      {

      lists = file.listFiles();

      for(int j=0;j

      items[j].setText(”“);

      items[j].setArmed(false);

      items[j].removeMouseListener(this);//避免某個筆記被刪除之后還可以被點的情況

      }

      for(int i=0;i

      items[i].setText(lists[i].getName());//創(chuàng)建20個JLanel

      items[i].addActionListener(this);

      items[i].addMouseListener(this);

      jp1.add(items[i],i);

      //在該項上右擊彈出一個選擇框

      items[i].setComponentPopupMenu(right_Click);

      }

      //更新右邊的Panel 里面應該沒有內容

      mainFrame.rightPanel.update_Right_view();

      }

      }

      public void showfile(int y){

      String filename1 = lists[y].getAbsolutePath();

      FileInputStream inputStream=null;

      ObjectInputStream ois = null;

      try {

      inputStream=new FileInputStream(filename1);

      ois=new ObjectInputStream(inputStream);

      mainFrame.rightPanel.textPane.setDocument((Document)ois.readObject());

      } catch(Exception e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }finally{

      try {

      ois.close();

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      }

      @Override public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      if(e.getActionCommand().equals(”New“)){

      String note_name=JOptionPane.showInputDialog(null,”請輸入筆記的名字“,”新筆記“,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);

      //如果用戶點了取消 則不用新建筆記

      if(!note_name.equals(”null“)){

      File file=new File(mainFrame.book_Path+”/“+note_name+”.ser“);

      if(!file.exists())

      {

      try {

      file.createNewFile();

      //為新建的筆記寫入一個空白的對象 避免打開時報指針的錯誤

      Tools.setDocument(file);

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      //刷新中間和左邊的Panel

      mainFrame.midPanel.update_Mid_View();

      }

      }else if(e.getActionCommand().equals(”Delete“)){

      File file=new File(this.getTemp_path());

      file.delete();

      //刪除筆記之后需要刷新右邊的兩個Panel

      mainFrame.midPanel.update_Mid_View();}else if(e.getActionCommand().equals(”Properties“)){

      Tools.showMessage(this.getTemp_path(),”筆記“);}else

      {

      mainFrame.rightPanel.textPane.setEditable(true);

      mainFrame.setNote_Path(mainFrame.getBook_Path()+”/“+e.getActionCommand());

      for(int x=0;x

      if(e.getActionCommand().endsWith(lists[x].getName()))

      this.showfile(x);

      } } }

      @Override public void mouseClicked(MouseEvent arg0){ // TODO Auto-generated method stub //設置選中部分的情況

      JMenuItem jmtemp=null;for(int i=0;i

      if(arg0.getComponent().equals(items[i]))

      {

      jmtemp=(JMenuItem)arg0.getSource();

      jmtemp.setArmed(true);

      }else{

      items[i].setArmed(false);

      } }

      //記錄被要在右邊顯示出內容的筆記途徑

      可以在菜單中刪除該筆記

      mainFrame.setNote_Path(mainFrame.getBook_Path()+”/“+jmtemp.getText());

      mainFrame.menu.delete_item[0].setEnabled(true);//允許刪除筆記

      mainFrame.menu.delete_item[1].setEnabled(false);//不允許刪除筆記本 } @Override public void mouseEntered(MouseEvent arg0){ // TODO Auto-generated method stub

      JMenuItem jm=(JMenuItem)arg0.getSource();//將當前筆記的途徑

      存到輔助路徑中

      this.setTemp_path(mainFrame.getBook_Path()+”/“+jm.getText());} @Override public void mouseExited(MouseEvent arg0){

      // TODO Auto-generated method stub

      JMenuItem jm=(JMenuItem)arg0.getSource();

      //jm.setBackground(new Color(238,238,238));} @Override public void mousePressed(MouseEvent arg0){

      // TODO Auto-generated method stub

      } @Override public void mouseReleased(MouseEvent arg0){

      // TODO Auto-generated method stub }

      public String getTemp_path(){

      return temp_path;} public void setTemp_path(String temp_path){

      this.temp_path = temp_path;} }

      (9)RightPanel.java package view;/** * 改用JTextPane實現圖片即單個文字更改字體或顏色的功能

      */ import java.awt.*;import java.awt.event.*;import java.io.*;import java.text.SimpleDateFormat;import java.util.Date;

      import javax.swing.*;import javax.swing.text.Document;

      import common.Tools;

      public class RightPanel extends JPanel implements ActionListener{

      JPanel panel;

      MainFrame mainFrame;

      //文本域

      JTextPane textPane;JScrollPane jsp_Pane;//鼠標右擊部分

      JPopupMenu right_Click;JMenuItem cutItem,copyItem,pasteItem,saveItem;//插入圖片與更改字體

      JToolBar toolBar;JButton image_Button,font_Button,timeButton;

      public RightPanel(JPanel panel,MainFrame mainFrame){

      this.mainFrame=mainFrame;

      this.panel=panel;

      //創(chuàng)建一個 文本域存放文字

      JTextArea

      textPane =new JTextPane();

      //設置自動換行

      textPane.setFont(new Font(”“, 1, 12));

      jsp_Pane=new JScrollPane(textPane);//滾輪

      //設置鼠標右擊彈框效果

      //cut

      cutItem=new JMenuItem(”Cut“,new ImageIcon(”image/cut.png“));

      cutItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl x“));//設置快捷鍵 ”ctrl x“

      cutItem.addActionListener(this);

      //copy

      copyItem=new JMenuItem(”Copy“,new ImageIcon(”image/copy.png“));

      copyItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl x“));//設置快捷鍵 ”ctrl O“

      copyItem.addActionListener(this);

      //paste

      pasteItem=new JMenuItem(”Paste“,new ImageIcon(”image/haha.png“));

      pasteItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl v“));//設置快捷鍵 ”ctrl v“

      pasteItem.addActionListener(this);

      saveItem=new JMenuItem(”Save“,new ImageIcon(”image/save.png“));

      saveItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl s“));

      saveItem.addActionListener(this);

      //將各菜單項添加到 右擊菜單組中

      right_Click=new JPopupMenu();

      //right_Click.right_Click.add(cutItem);

      right_Click.add(copyItem);

      right_Click.add(pasteItem);

      right_Click.addSeparator();

      right_Click.add(saveItem);

      //為右擊注冊監(jiān)聽

      textPane.setComponentPopupMenu(right_Click);

      //可以懂工具條部分

      toolBar=new JToolBar(”工具“);

      image_Button=new JButton(”插入圖片“);

      image_Button.addActionListener(this);

      font_Button=new JButton(”更改字體顏色“);

      font_Button.addActionListener(this);

      timeButton = new JButton(”插入時間“);

      timeButton.setToolTipText(”點擊可以插入當前時間“);

      timeButton.addActionListener(this);

      toolBar.add(image_Button);

      toolBar.add(font_Button);

      toolBar.add(timeButton);

      //將工具條和textPane添加到panel

      panel.setLayout(new BorderLayout());

      panel.add(toolBar,”North“);panel.add(jsp_Pane);} //更新文本框

      在新建或刪除

      筆記或筆記本

      的時候需要刷新 public void update_Right_view(){ textPane.setText(”“);textPane.setEditable(false);} //保存當前筆記

      public void book_Save(){ FileOutputStream outputStream=null;ObjectOutputStream oos=null;try {

      outputStream=new FileOutputStream(mainFrame.getNote_Path());

      oos=new ObjectOutputStream(outputStream);

      oos.writeObject(textPane.getDocument());} catch(Exception e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }finally{

      try {

      oos.close();

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      } }

      @Override public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      if(e.getActionCommand()==”Cut“){//剪切

      textPane.cut();

      }else if(e.getActionCommand()==”Copy“){//復制

      textPane.copy();

      }else if(e.getActionCommand()==”Paste“){//粘貼

      textPane.paste();

      }else if(e.getActionCommand()==”Save“){//保存

      this.book_Save();

      }else if(e.getSource()==image_Button){//插入圖片

      String temp=Tools.open_Choose();

      if(!temp.equals(”not“)){

      textPane.insertIcon(new ImageIcon(temp));

      }

      }else if(e.getSource()==font_Button){//修改字體顏色

      Color c=JColorChooser.showDialog(this, ”Color“, Color.black);

      textPane.setForeground(c);

      }else if(e.getSource()==timeButton){//插入時間

      Date now = new Date();

      SimpleDateFormat dateFormat = new SimpleDateFormat(”yyyy/MM/dd HH:mm:ss");//可以方便地修改日期格式

      String hehe = dateFormat.format(now);

      textPane.replaceSelection(hehe);

      } } }

      第三篇:Java課程設計

      統一要求:

      設計成品(按難度自選一個到兩個完成)

      可分組或單獨完成,每組最多兩人,19周前交 1設計報告

      (1)本程序的功能描述

      (2)程序設計思想(數據結構和各功能的實現辦法)(3)核心程序清單(應有必要說明)2結果分析

      (1)本程序的局限性及改進方法

      (2)應用本程序的設計方法可以編寫哪些類似的程序 一:小型通訊管理系統

      通訊錄管理系統含有:輸入 顯示 查找 刪除

      要求

      1通訊錄的每一條信息包括姓名,單位,電話!(可用數組或數據庫)2輸入功能:可以一次完成若干條信息的輸入.3顯示功能:完成全部通訊錄信息的顯示(一屏最多顯示10條,超過十條應能夠自動分屏顯示)4查找功能:完成按姓名查找通訊信息.5刪除功能:完成按姓名刪除通訊信息.6應提供一個界面來調用各個功能,調用界面和各個功能的操作界面應盡可能清晰美觀!

      二:個人簡歷程序:(參照中華英才網http://004km.cn的創(chuàng)建個人簡歷的選項)

      通過文本框輸入姓名,通過單選按鈕設置性別,通過組合框選擇籍貫(列出省、市),文化程度、出生日期、現居住地。以及填寫教育經歷、語言及方言等。

      請按自行安排界面排版方式,注意美觀性。

      三:多小球運動程序:

      請編寫一個多小球運動的程序,要求可以設置每個小球的半徑,初始書度,加速度。

      當用戶點擊發(fā)射按鈕時,程序按指定的彈出一個小球,當小球碰到邊界線時,碰撞為完全碰撞。

      要求每個小球為一個線程,不考慮小球之間的碰撞。

      四:打字小程序。

      從屏幕頂端隨機落下不同的英文。如果在字符下落的過程中,用戶正確輸入對應字符,字符消失,加1分;到字符落到底端還沒正確輸入,扣一分。

      給出最宗成績。程序可設 重新開始,暫停,練習時間,字符出現的數量,速度等。

      五:龜兔賽跑

      龜兔在同一個圓賽跑,要求可以設置龜兔跑一周的時間,兔比龜快。龜兔同時其跑,當兔快龜一圈時,計算器加1,并顯示在屏幕上。六:學生成績管理系統。

      完成一個班學生的成績管理。為完成程序功能,至少要有兩個這樣的功能模塊:

      l 輸入成績 2 查詢成績

      因為查詢模塊中又分為:

      l 按學生查詢 2 按課程查詢

      所以為它們分別編寫函數。因為上述這些操作中要輸入某位學生和某門課程,所以再編寫兩個函數來輸出數組中的學生信息和課程信息并請用戶從中選擇:

      1顯示學生信息從中進行選擇 2顯示課程信息從中進行選擇

      系統管理員需要管理系統所有用戶的信息,包括用戶編號、名稱、備注等,可以對其添加刪除修改和啟用停用等操作。

      還需要為系統用戶劃分角色和權限,保證不同身份的用戶進入后可以有不同的權限,如某科目的老師可以錄入本科目的成績,學生只可以有查詢權限等。

      七:使用ServerSocket和Socket實現服務器支持多客戶機通信。當有多個客戶向服務器提出時請求時,服務器一端會分別為每個客戶從一個包含多行文字的文本文件中讀取一行文字,發(fā)送給每個客戶,直到文件讀完文件中所有行,服務器一端發(fā)出“bye”并停止運行,客戶端也都停止運行。

      八:編寫一個圖形用戶界面的應用程序,在窗口中,有一個圖片循環(huán)地從窗口的左面移動到窗口的右邊。當鼠標點擊窗口時,圖片停止運動,再次點擊圖片恢復運動。九:編寫程序,在文件中輸入若干個單詞(每個單詞可重復一次或多次)。編程實現統計每個單詞重復次數,并對非重復的單詞進行排序,將排序結果輸出到文件中。十. JDBC技術的應用

      ——校園卡信息/學生信息/教師信息/圖書信息/宿舍信息/學生會/成績/課程/教室管理/公務員招考系統的設計實現

      以校園卡信息管理、學生信息管理、教師信息管理、圖書信息管理、宿舍信息管理、學生會活動管理、成績管理、教室管理等為例,使用JDBC-ODBC數據庫接口,完成對后臺數據庫的插入、刪除、修改、查詢等操作。數據庫系統可采用Sql Server、Access等,要根據完成的不同功能在數據庫系統中定義有關的各種信息表:如在教師信息管理系統中要設計教師基本信息表、教師學習進修情況表、教師獎懲情況表、教師上課情況表等。其他幾個子系統中數據表的設計由同學們根據實際的需求自主完成設計。十一.文本編輯器的設計與實現

      設計一個類似于Windows記事本(Notepad)的Java程序??梢源蜷_、新建、保存一個文本文件;對選中的文本進行各種編輯操作(設置字體、字號、字型、對齊方式、背景、前景色、復制、粘貼、剪切、查找、替換等);在文本中能夠插入對象。十二..計算器的設計與實現

      設計一個能實現計算器功能的Java程序,可以進行加、減、乘、除(另外可適當加上階乘、正弦、余弦和指數)運算。十三.圖象瀏覽器的設計與實現

      設計一個能實現圖象瀏覽與編輯功能的Java程序,包括如下功能:

      1)從已有的圖象文件列表中選擇某一個,即可顯示該圖象,并可做旋轉等變換。2)在畫布區(qū)域上可以進行各種規(guī)則圖形的繪制(如:線段、矩形、多邊形、圓等),還可通過鼠標的拖動自由繪圖。

      3)可以連續(xù)播放所選文件夾下的所有圖象。十四: 媒體播放器的設計與實現

      利用JMF(Java Media Framework)提供的API,實現圖像瀏覽、音頻播放、視頻播放功能。

      十五:局域網聊天程序的設計與實現

      該程序實現局域網內的聊天功能,包括服務器端程序和客戶端程序兩部分??蛻舳顺绦颍嚎蛇B接到服務器,并將消息發(fā)送到服務器端和接受服務器端發(fā)送來的信息。服務器端程序:可將消息發(fā)送到客戶端和接受客戶端發(fā)送來的信息 十六:基于Web的應用

      ——網上超市/網上書店/網上花店/網上物流/網上招聘/同學錄/網上選課/網上考試系統的設計

      應用JSP技術,設計一個類似電子商務、電子政務類的簡單應用系統,可以在網上動態(tài)展示各類信息,并根據相應的業(yè)務流程進行必要的邏輯處理,系統信息可以進行后臺維護。需要動態(tài)顯示的信息要存放數據庫中,數據庫可以用Sql Server、Access;后臺管理要提供對數據庫中信息進行動態(tài)維護(包括添加、刪除、修改)的頁面。十七:益智類小游戲的設計與實現

      運用多線程和多媒體技術設計一個簡單的益智類小游戲,游戲內容自行構思,不得直接利用網上現有游戲程序,要求有人機交互和界面動畫,游戲過程中有聲音效果,游戲成績能記錄、顯示。

      第四篇:Java課程設計

      Java及J2EE課程設計題目

      1、文件檔案管理

      文件檔案管理系統主要對外來文件、下發(fā)文件和需要抄送的文件進行統一管理。劃分為以下三個模塊:收文管理、發(fā)文管理、抄送文件。

      1.收文文件增加、刪除和修改,其字段有:收文編號、收件日期、文件標題、內容、發(fā)文單位、簽發(fā)人

      2.發(fā)文文件增加、刪除和修改,其字段有:發(fā)文編號、發(fā)件日期、文件標題、內容、收文單位、發(fā)件人

      3.抄送文件增加、刪除和修改,其字段有:文件編號、發(fā)件日期、文件標題、內容、抄送單位、發(fā)件人

      4.查詢條件是發(fā)文類型(收文、發(fā)文還是抄送)、文件標題、內容進行模糊查詢。

      應用工具:jsp+struts+jdbc

      題目等級:A2、運動員檔案管理

      運動員檔案管理系統是對運動員的基本信息及參加比賽的情況進行管理維護。分為兩個模塊:運動員建檔、比賽記錄。

      5.運動員建檔增加、刪除和修改,其字段有:學生編號、姓名、出生日期、性別、民族、政治面貌、主修項目、聯系方式

      6.對運動員的檔案進行模糊查詢,查詢條件有:學生編號、學生姓名、性別、主修項目

      7.對比賽記錄進行增加、刪除、修改,其字段有:學生編號、姓名、時間、地點、比賽名稱、參加項目、成績、名次

      8.對比賽記錄進行模糊查詢,查詢條件有:學生編號、學生姓名、比賽名稱、參加項目、成績 應用工具:jsp+struts+jdbc

      題目等級:A3、信息發(fā)布系統

      信息發(fā)布系統是將最新信息、以最快的方式展示給用戶。提供信息的維護管理功能。信息主要字段:發(fā)布時間、標題、內容、有效期開始時間、結束時間、發(fā)布人、是否閱讀,完成對信息的發(fā)布、修改、刪除操作,對信息進行模糊查詢,其查詢條件為標題、內容、發(fā)布人

      應用工具:jsp+struts+jdbc

      題目等級:A4、通訊錄管理

      通訊錄管理系統是方便用戶管理自己的聯系人,查找相應的聯系方式。根據類別的不同對聯系人進行分類管理。聯系人信息有:姓名、性別、職務、辦公電話、手機、宅電、電子郵件、通訊地址,完成對聯系人的增加、刪除、修改操作,提供對通訊錄進行模糊查詢,其條件為姓名、性別、職務、通訊地址字段

      應用工具:jsp+struts+jdbc

      題目等級:A5、備忘錄管理

      備忘錄管理系統是記錄每天需要做的事情,起到一個提醒的作用。提供對這些信息的維護功能。備忘錄中的內容主要有:日期、標題、內容這三個數據項,完成對其的增加、刪除、修改操作,并可以按日期和標題、內容進行模糊查詢

      應用工具:jsp+struts+jdbc

      題目等級:A6、會議管理

      會議管理系統是記錄會議的基本信息,開完會后記錄會議的討論結果,進行備案,供以后查詢使用。會議的基本信息:會議主題、會議類型(周會、報告會、考務會……)、會議狀態(tài)(準備中、進行中、已結束三種)、會議時間、會議地址、參與者、會議主要內容,完成對其會議基本信息的增加、刪除、修改操作,并要記錄會議結果,會議記錄結果主要記錄的是會議討論結果、領導簽字兩個數據項。應用工具:jsp+struts+jdbc

      題目等級:A7、日程管理

      日程管理要記錄每天的工作日程安排,主要內容包括:記錄時間、名稱、內容、地點、日程的開始

      和結束時間,完成對基本信息的增加、刪除、修改操作,并對日程的信息進行查詢,查詢條件有:名稱、內容

      應用工具:jsp+struts+jdbc

      題目等級:A8、日志管理

      日志管理要記錄每一天完成工作的情況,記錄的信息有時間、上午工作記錄、下午工作記錄、記錄人,完成對這些信息的維護,并對日期進行查詢

      應用工具:jsp+struts+jdbc

      題目等級:A9、用戶管理

      為了方便網站管理者對用戶進行身份確認,或者是用戶購買以后進行配送等服務,必須要有用戶管理系統。用戶管理系統應該具有用戶注冊、用戶登錄、用戶修改和用戶注銷等功能。

      1. 用戶注冊(1)

      2. 用戶登錄(1)

      3. 用戶信息修改(1)

      4. 用戶注銷(1)

      應用工具:jsp+struts+jdbc

      題目等級:A10、數據查詢

      網上購物的一個優(yōu)勢是可以在商品中進行查詢。

      1. 生成查詢記錄集(1)

      2. 分頁顯示功能(1)

      3. 查看商品詳細信息(1)

      應用工具:jsp+struts+jdbc

      題目等級:A11、購物車

      1.添加到購物車(1)

      2.查看購物車(1)

      3.購物車操作(1)

      4.結帳(1)

      應用工具:jsp+struts+jdbc

      題目等級:A

      12.新聞管理系統

      題目:當今社會是一個信息社會,人們通過信息了解社會情況,進行社會活動,而新聞作為企事業(yè)單位宣

      傳自己,發(fā)布信息的主要形式,而在網絡新聞的宣傳是一個新興事務,并且發(fā)展很快,已經成為一個重要信息發(fā)布媒體。所以現要求你設計一個用于新聞管理的信息系統,實現新聞的編輯與發(fā)布。

      功能要求:本系統要求可以完成新聞在線發(fā)布,在線編輯,新聞分類,圖片新管理等功能,技術上要求

      使用JSP技術。

      題目等級:B

      13.在線考試系統

      題目:考試作為學員學習效果的檢驗的主要方式一直被采用,而且考試形式也有許多方式,如筆試,面

      試等,在線測試作為一種新的考試形式,得到越來越快的發(fā)展。所以現要求你設計一個在線考試系統,實現在線測試。

      功能能要求:實現在線測度,在線評測,隨機出題,試題編輯等功能,技術上采用JSP+JavaBean實現。題目等級:A

      14.網上書店系統

      題目:圖書是人們了解知識,掌握知識的主要手段,傳統的書店都店面形式,人們需要去書店才能夠購

      買,花費大量的時間也不一定得到一本滿意的書籍。而網上書店就是利用網絡為人們提供一個足不出戶就可以買到一本理想的書籍的方式。所以要求你設計一個網絡書店系統,實現書籍的在線銷售,在線閱讀。

      功能要求:實現圖書在線閱覽,在線選購,新書推薦等功能,技術上要求采用JSP +JavaBean實現。題目等級:A

      15.學生學籍系統

      題目:學生學籍管理是一個學校管理的重要組成部分,學生學籍管理也是最麻煩的一項管理,所以實現

      學生學籍管理的信息化是一種簡化管理的主要途徑。現要求你設計一個實現學生學籍管理的系統,實現學生學籍管理的信息化。

      功能要求:學生學籍注冊,查詢,更新,學生獎懲,學籍變動等功能。技術上要求采用JSP技術實現。題目等級:B

      16.留言本

      題目:留言本是網站中用于與管理員進行信息交流的主要方式,是網站中的一個重要功能之一,現要求

      你設計一個留言本,實現在線留言。

      功能要求:留言發(fā)布,留言回復,留言置頂,留言驗證等功能,技術采用JSP實現。

      題目等級:C

      17.在線投票問卷管理系統

      題目:在線調查是調查了解對某件事情人們反映的主要方式,是目前比要流行的一種調查方式?,F要求

      實現一個在線投票調查系統,并可以進行結果統計,結果評測等功能。

      功能要求:在線投票,在線答卷,在線統計,在線評測等功能,技術上采用JSP實現。

      題目等級:C

      18.員工檔案管理系統

      題目:員工檔案是一個企業(yè)人才建設管理的重要資源,好的員工檔案管理,對提高員工工作積極性,提高企業(yè)效益的重要方式。所以要求設計一個員工檔案管理系統,實現員工檔案管理的信息化管理。

      功能要求:員工檔案注冊,員工考核,員工調動等功能,技術上采用JSP+JavaBean實現。

      題目等級:A

      19.文本編輯器

      題目:參照Windows記事本程序設計一個文本編程器,可以進行文本的格式編輯。

      功能要求:要求有菜單,工具欄,文本編輯功能所需要的功能,技術上采用Java圖形窗口技術實現。題目等級:C

      20.計算器

      題目:參照Windows計算器程序設計一個計算器,可以實現數學計算。

      功能要求:要求功能上要與Windows計算器功能類似。

      題目等級:C

      21.HANNOI-塔

      題目:運用多線程與圖形接口技術設計一個HANNOI-塔演示程序,要求增加簡易圖形界面。功能要求:能夠至少演示5級HANNOI-塔。

      題目等級:B

      22.挖雷游戲

      題目:運用多線程程序與圖形接口技術設計一個挖雷游戲程序,要求有簡易的圖形界面。

      功能要求:功能上與Windows掃雷游戲類似。

      題目等級:A

      23.動態(tài)時鐘

      題目:運用Applet和多線程技術設計鐘表程序,以實現當前時鐘的顯示。

      功能要求:要求有表盤,可以調整時間。

      題目等級:B

      24.音樂播放器

      題目:運用Applet技術設計一個可以播放音樂的播放器。

      功能要求:可以播放音樂,可以添加樂曲等功能。

      題目等級:C

      25.實驗室網上簽到系統

      題目:要求實現一個實驗在線簽到系統,學生可以在上實驗時完成簽到。

      功能要求:課程設置,新建簽到,學生簽到列表,學生在線簽到等功能。技術上采用JSP+JavaBean技

      術實現。

      題目等級:B

      26.用戶管理系統

      題目:要求實現用戶管理系統,可以實現用戶注冊,用戶權限管理等功能。

      功能要求:用戶注冊,用戶極限分配,用戶登錄等功能。技術采用JSP技術實現。、題目等級:C

      27.圖書館管理系統

      題目:要求實現圖書館的在線管理,學生可以在線借書,在線閱覽等功能。

      功能要求:在線圖書管理。在線閱讀,在線借書,還書等功能。技術上采用JSP+JavaBean實現。題目等級:B

      28.求職招聘系統

      題目:網上求職是當今人才流動,人才引進的重要途徑,但對于成百萬的簡歷的管理,職位的發(fā)布的管理如果采用人工的方式會花費大量的人力、物力,但如果實現計算機網絡化 管理就顯得容易一些,所以現要求你設計一個求職招聘管理系統,實現人才交流的信息化處理。

      功能要求:職位發(fā)布,在線投簡,在線應聘等功能。技術上采用JSP+JavaBean技術實現。題目等級:B

      29.倉庫管理系統

      題目:倉庫管理是一個非常煩瑣,但是很重要的工作。如果能夠實現倉庫管理的計算機處理,對于提

      高工作效率,降低工作成本,能夠起到非常重要的作用,所以現要求實現一個倉庫管理系統,實現倉庫的信息化管理。

      功能要求:實現貨物的出庫,入庫,庫存統計,庫存預警等功能。技術上采用JSP+JavaBean技術實現。題目等級:B

      30企業(yè)網站管理系統

      題目:網站對企業(yè)宣傳工作的開展提供一個非常的好的效果,產生很好的效益,這就說明網站已經成為企業(yè)宣傳自己的重要手段,網站管理的好壞直接影響這個網站的應用,所以現要求為某企業(yè)網站設計一個管理系統,實現網站的后臺管理。

      功能要求:產品發(fā)布,用戶管理,信息發(fā)布等功能。技術上采用JSP+JavaBean技術實現。題目等級:A

      31.流量統計系統

      題目:網絡流量是反映一個網站受關注度情況的重要表現,是網站調整版面信息的參考,訪問流量高的網站證明其效益非常好,是一個非常理想的網站,但流量低的網站就需要進行信息的更新和版面的修改,以提高網站的訪問量,這樣網站流量的時時統計能夠給網站管理員提供一個網站運行情況信息參考,為其更好的管理網站提供幫助?,F要求你設計一個網站訪問流量的統計系統,時時統計網站訪問流量。

      功能要求:顯示在線人數,當前訪問者IP,歷史訪問人數,最高流量時間等功能。技術上采用JSP技

      術實現。

      題目等級:C

      其它可選題目

      以上題目的等級全都為C,所選工具應為jsp+jdbc,都要完全相應的增、刪、改、查等功能

      (1)酒店管理信息系統

      (2)客房管理信息系統

      (3)藥品管理信息系統

      (4)學籍管理信息系統

      (5)成績管理信息系統

      (6)宿舍管理信息系統

      (7)圖書管理信息系統

      (8)財務處理信息系統

      (9)固定資產核算信息系統

      (10)工資管理信息系統

      (11)材料管理信息系統

      (12)成本管理信息系統

      (13)房地產產權產籍管理信息系統的開發(fā)

      (14)住宅小區(qū)物業(yè)管理信息系統的開發(fā)

      (15)建設工程報價管理信息系統的開發(fā)

      (16)建設工程預算系統的開發(fā)

      (17)項目材料管理信息系統的開發(fā)

      (18)工程材料采購管理信息系統的開發(fā)

      (19)工程成本管理信息系統的開發(fā)

      (20)機械設備租賃管理系統的開發(fā)

      (21)工程圖檔管理信息系統的開發(fā)

      (22)企業(yè)人力資源管理信息系統的開發(fā)

      (23)企業(yè)職工培訓管理信息系統的開發(fā)

      (24)企業(yè)職工醫(yī)療保險信息系統的開發(fā)

      (25)商品銷售管理信息系統的開發(fā)

      第五篇:Java課程設計題目

      Java課程設計題目

      一、Java語言課程設計目的和要求 1.目的:

      1)復習、鞏固Java語言的基礎知識,進一步加深對Java語言的理解和掌握; 2)課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力;

      3)培養(yǎng)學生在項目開發(fā)中團隊合作精神、創(chuàng)新意識及能力。2.要求:

      1、對系統進行功能模塊分析、控制模塊分析正確,符合課題要求,實現相應功能;可以加以其他功能或修飾,使程序更加完善、合理;

      2、系統設計要實用,編程簡練,可用,功能全面

      3、說明書、流程圖要清楚

      4、記錄設計情況(備查,也為編寫設計說明書作好準備);

      5、要求采用模塊化程序設計方法,及鋸齒型書寫格式,要求上機調試通過和按設計報告格式。

      6、設計上交內容:設計報告一組一份(按格式書寫);心得體會每人一份;源程序文件。

      二、Java課程設計選題如下:

      1、四則運算測試

      功能要求:該程序實現十道100以內四則運算數學題,能根據題目計算出答案,與輸入答案對比,判斷做題是否正確,最后計算分數。

      界面要求:圖形界面實現,基于ArrayList、Vector等高級類。

      2、文件加密、解密軟件

      功能要求:通過軟件界面選擇打開一個文本文件,使用移位密碼對文件內容進行加密并保存,或者針對移位密碼加密的文本文件進行解密操作并保存。

      界面要示:圖形界面實現。

      3、學生成績管理

      功能要求:

      1)輸入若干同學的學號,姓名,四科成績(應用數學、大學英語、Java程序設計、計算機應用基礎),存儲入數據庫中。2)計算出平均成績。以平均成績降序輸出成績表。3)輸出全組各科平均分,最高分和最低分。4)輸入姓名查詢成績 界面要示:無。

      4、對對碰游戲 功能要求:該程序顯示GUI用戶界面,界面中隨機安排10對圖片,背面向上,當翻開的2張圖片相同時就消失,不相同時重新翻回背面,最終顯示用時和分數(=400-翻的次數)。

      界面要示:圖形界面實現。

      5、畫隨機圓

      功能要求:實現簡單的動畫。具體要求:自動出現由小到大變換的圓,位置與顏色隨機,變到150直徑時擦除,重新再出現圓;變換速度由HTML文件傳入的參數控制(控制sleep時間)。

      界面要求:用Java Applet實現。

      6、繪圖板

      功能要求:實現簡單繪圖功能,具體要求:畫直線,畫空心或實心橢圓、畫空心或實心矩形、畫多邊形(圖形的位置和大小也可在界面中設定)。

      界面要求:圖形界面實現??蓞⒖紙D

      1、圖2和圖3。

      圖1 初始界面

      圖2 使用菜單繪圖

      圖3 使用按鈕繪圖

      7、標準化考試

      功能要求:程序從文件系統(或數據庫)中讀入考試題目(主要為選擇題)及答案,顯示在GUI界面中,答題者按照題目內容進行答題,點擊按鈕提交后可以看到自己的答題結果。

      界面要示:圖形界面實現。

      8、Socket文件傳輸

      功能要求:基于Socket編程,實現服務器端向客戶端發(fā)送文件的操作。界面要示:無。

      9、網絡相冊

      功能要求:用戶在網頁上通過前進、退后按鍵或自動播放方式瀏覽相冊,每張相片可以放大觀看。

      界面要示:Applet實現。

      三、設計時間

      一周,具體安排如下: 第一階段:

      1.班級分組,選定課題,查閱相關資料 1周

      2.劃分模塊、小組成員分工,編制源程序 1-2周

      第二階段:上機調試,修改、完善系統 一周 第三階段:撰寫、上交課程設計說明書(1份/人),上交課程設計作品源程序(每課題組一份),作品答辯。1天

      四、設計方式和安排

      1.分組選題:最多5人為一組,每組一個課題(可根據課題工作量大小,合理分配人數),每組設組長一名,負責該組設計工作的協調、分工等。2.設計過程:

      1)分析設計準備階段(按組討論、對系統功能進行分析,確定算法,并進行明確分工);

      2)編程調試階段(繪制流程圖,編制源程序;上機調試,修改程序)3)總結報告和書寫說明書階段(撰寫上交相關資料)

      3、考核過程

      17周周五下午答辯。

      五、考核內容和方式

      1、在設計期間,學生要按時上機,設計結束根據記錄的設計材料整理成設計說明書。設計說明書中應寫下設計中的主要收獲,要求對問題有一定的分析,文字簡短明確流暢。

      2、通過設計答辯方式,并結合學生的動手能力,獨立分析解決問題的能力和創(chuàng)新精神,設計成績由指導教師根據考勤、設計說明書質量、答辯表現以及學習態(tài)度按五級分制綜合評定。

      成績分優(yōu)、良、中、及格和不及格五等。

      六、課程設計報告格式及要求

      一、封面;

      二、目錄;

      三、設計任務書;

      四、本組課題及本人任務;

      五、程序功能簡介;

      六、主體內容(簡要說明總體情況,詳細介紹本人任務部分):

      1.設計分析;

      2.程序結構(畫流程圖)

      3.各模塊的功能及程序說明; 4.源程序;

      5.操作方法(流程);(可省)6.試驗結果(包括輸入數據和輸出結果)7.設計體會。(可省)

      下載java課程設計畢業(yè)論文(五篇范文)word格式文檔
      下載java課程設計畢業(yè)論文(五篇范文).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內容由互聯網用戶自發(fā)貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現有涉嫌版權的內容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

      相關范文推薦

        Java課程設計心得體會

        Java課程設計心得體會 仿QQ交友網站是為了適應網絡時代人們交友,交流等而創(chuàng)建的一個網站。通過本次課程設計,我對web開發(fā)有了更深刻的認識。 仿QQ交友網站的每一個模塊實現......

        Java課程設計報告

        課 程 設 計 課程名稱 Java語言課程設計 題目名稱 人事管理系統的設計與實現 學生學院 應用數學學院 專業(yè)班級 學 號 學生姓名 指導教師 劉科峰 2014 年 10 月 29 日......

        Java課程設計報告

        《Java課程實習》報告 題目 學號 學生姓名 音樂播放器 201011621335 201011621329 200811621320 朱劍峰 薛文博 劉彬 聯系方式 *** *** *** 所在......

        課程設計《JAVA程序設計》任務書.

        《 JA V A 程序設計》課程設計任務書 一.課程設計基本信息 課程名稱:《JAVA 程序設計》課程設計 學時:1周 學分:1學分 二.課程設計目的與要求 1.教學目的:本課程是學習《 Ja......

        Java課程設計題目2

        面向對象課程設計題目 1、個人通信錄管理信息系統的設計與實現 目的:通過本題目的設計,加深對面向對象程序設計技術的理解,掌握利用數據庫編寫小型程序的基本過程和方法。 任務......

        java聊天室課程設計報告

        課程設計報告 2011 ~ 2012 學年 第 一 學期 學 號 20104053020 姓 名 胡勇昌 院 系 信息工程與技術 專 業(yè) 計算機工程系 課 程 名 稱 JAVA程序設計 課程設計名稱 局域網內的......

        《JAVA語言》課程設計設計

        《面向對象程序設計JAVA》課程設計大綱 課程名稱:面向對象程序設計JAVA 適用專業(yè):計算機及計算機相關專業(yè) 學時數:20(上機實驗) 學 分: 1 配套教材:《JAVA語言與面向對象程序設計......

        Java Web開發(fā)課程設計

        Java Web 開發(fā)課程設計一、性質、目的和任務 本課程設計是在《Java Web開發(fā)》課程上設置的,是鞏固學生所學理論知識、培養(yǎng)學生動手能力并使理論與實際相結合的重要實踐環(huán)節(jié)。......