久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

Java課程設(shè)計(jì)心得體會

時間:2019-05-12 16:20:12下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Java課程設(shè)計(jì)心得體會》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Java課程設(shè)計(jì)心得體會》。

第一篇:Java課程設(shè)計(jì)心得體會

Java課程設(shè)計(jì)心得體會

仿QQ交友網(wǎng)站是為了適應(yīng)網(wǎng)絡(luò)時代人們交友,交流等而創(chuàng)建的一個網(wǎng)站。通過本次課程設(shè)計(jì),我對web開發(fā)有了更深刻的認(rèn)識。

仿QQ交友網(wǎng)站的每一個模塊實(shí)現(xiàn)的功能簡單,JSP頁面主要實(shí)現(xiàn)頁面展示的功能,而servlet則負(fù)責(zé)頁面請求的跳轉(zhuǎn)以及對數(shù)據(jù)庫數(shù)據(jù)的更新操作。

回顧起此課程設(shè)計(jì),感慨頗多,從選題到定稿,從理論到實(shí)踐,在這些日子里,我們付出了很多的辛苦和精力,但是學(xué)到很多很多的東西,不僅鞏固了以前學(xué)過的知識,還學(xué)到了很多書本上沒有的知識。通過這次課程設(shè)計(jì),我懂得了理論與實(shí)際相結(jié)合的重要性,只有把學(xué)的理論知識與實(shí)踐相結(jié)合,才能提高自己的實(shí)際動手能力和思考的能力。

其次,這次課程設(shè)計(jì)讓我們系統(tǒng)學(xué)習(xí)數(shù)據(jù)庫知識,這對我們的編程能力有很大的提高。更為重要的是,這次課程設(shè)計(jì)是我們小組6人一起合力完成的,讓我們深刻體會到團(tuán)隊(duì)合作的重要性。當(dāng)然程序中依然有很大的不足,望老師加以批評和指正。

第二篇:Java課程設(shè)計(jì)

統(tǒng)一要求:

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

可分組或單獨(dú)完成,每組最多兩人,19周前交 1設(shè)計(jì)報(bào)告

(1)本程序的功能描述

(2)程序設(shè)計(jì)思想(數(shù)據(jù)結(jié)構(gòu)和各功能的實(shí)現(xiàn)辦法)(3)核心程序清單(應(yīng)有必要說明)2結(jié)果分析

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

(2)應(yīng)用本程序的設(shè)計(jì)方法可以編寫哪些類似的程序 一:小型通訊管理系統(tǒng)

通訊錄管理系統(tǒng)含有:輸入 顯示 查找 刪除

要求

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

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

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

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

三:多小球運(yùn)動程序:

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

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

要求每個小球?yàn)橐粋€線程,不考慮小球之間的碰撞。

四:打字小程序。

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

給出最宗成績。程序可設(shè) 重新開始,暫停,練習(xí)時間,字符出現(xiàn)的數(shù)量,速度等。

五:龜兔賽跑

龜兔在同一個圓賽跑,要求可以設(shè)置龜兔跑一周的時間,兔比龜快。龜兔同時其跑,當(dāng)兔快龜一圈時,計(jì)算器加1,并顯示在屏幕上。六:學(xué)生成績管理系統(tǒng)。

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

l 輸入成績 2 查詢成績

因?yàn)椴樵兡K中又分為:

l 按學(xué)生查詢 2 按課程查詢

所以為它們分別編寫函數(shù)。因?yàn)樯鲜鲞@些操作中要輸入某位學(xué)生和某門課程,所以再編寫兩個函數(shù)來輸出數(shù)組中的學(xué)生信息和課程信息并請用戶從中選擇:

1顯示學(xué)生信息從中進(jìn)行選擇 2顯示課程信息從中進(jìn)行選擇

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

還需要為系統(tǒng)用戶劃分角色和權(quán)限,保證不同身份的用戶進(jìn)入后可以有不同的權(quán)限,如某科目的老師可以錄入本科目的成績,學(xué)生只可以有查詢權(quán)限等。

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

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

——校園卡信息/學(xué)生信息/教師信息/圖書信息/宿舍信息/學(xué)生會/成績/課程/教室管理/公務(wù)員招考系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

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

設(shè)計(jì)一個類似于Windows記事本(Notepad)的Java程序。可以打開、新建、保存一個文本文件;對選中的文本進(jìn)行各種編輯操作(設(shè)置字體、字號、字型、對齊方式、背景、前景色、復(fù)制、粘貼、剪切、查找、替換等);在文本中能夠插入對象。十二..計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)

設(shè)計(jì)一個能實(shí)現(xiàn)計(jì)算器功能的Java程序,可以進(jìn)行加、減、乘、除(另外可適當(dāng)加上階乘、正弦、余弦和指數(shù))運(yùn)算。十三.圖象瀏覽器的設(shè)計(jì)與實(shí)現(xiàn)

設(shè)計(jì)一個能實(shí)現(xiàn)圖象瀏覽與編輯功能的Java程序,包括如下功能:

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

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

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

十五:局域網(wǎng)聊天程序的設(shè)計(jì)與實(shí)現(xiàn)

該程序?qū)崿F(xiàn)局域網(wǎng)內(nèi)的聊天功能,包括服務(wù)器端程序和客戶端程序兩部分。客戶端程序:可連接到服務(wù)器,并將消息發(fā)送到服務(wù)器端和接受服務(wù)器端發(fā)送來的信息。服務(wù)器端程序:可將消息發(fā)送到客戶端和接受客戶端發(fā)送來的信息 十六:基于Web的應(yīng)用

——網(wǎng)上超市/網(wǎng)上書店/網(wǎng)上花店/網(wǎng)上物流/網(wǎng)上招聘/同學(xué)錄/網(wǎng)上選課/網(wǎng)上考試系統(tǒng)的設(shè)計(jì)

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

運(yùn)用多線程和多媒體技術(shù)設(shè)計(jì)一個簡單的益智類小游戲,游戲內(nèi)容自行構(gòu)思,不得直接利用網(wǎng)上現(xiàn)有游戲程序,要求有人機(jī)交互和界面動畫,游戲過程中有聲音效果,游戲成績能記錄、顯示。

第三篇:JAVA課程設(shè)計(jì)

JAVA程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告

目 錄

一、項(xiàng)目背景及意義:...............................................2

二、系統(tǒng)描述...............................................................2

三、分析與設(shè)計(jì)...........................................................3 1.分析.......................................................................3 2.功能模塊劃分.......................................................3 3.功能模塊流程圖...................................................5 4.各模塊的關(guān)鍵代碼...............................................5

四、系統(tǒng)測試...............................................................5

五、課程設(shè)計(jì)進(jìn)度.....................................................13

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

七、參考文獻(xiàn).............................................................14

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

一、項(xiàng)目背景及意義:

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

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

二、系統(tǒng)描述

Java的前身是Oak,它一開始只是被應(yīng)用于消費(fèi)性電子產(chǎn)品中。后來它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標(biāo)志Java2的誕生。十多年來,Java編程語言及平臺成功地運(yùn)用在網(wǎng)絡(luò)計(jì)算及移動等各個領(lǐng)域。Java的體系結(jié)構(gòu)由Java語言、Java class、Java API、Java虛擬機(jī)組成。它具有簡單、面向?qū)ο蟆⒔选踩⒔Y(jié)構(gòu)中立、可移植和高效能等眾多優(yōu)點(diǎn)。Java支持多線程編程,Java運(yùn)行時系統(tǒng)在多線程同步方面具有成熟的解決方案。Java的平臺標(biāo)準(zhǔn)有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ā)工具的基礎(chǔ)。以上的每種開發(fā)工具都有優(yōu)缺點(diǎn),對于開發(fā)者來說,重要的是要根據(jù)自己的開發(fā)規(guī)模、開發(fā)內(nèi)容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。

在本程序設(shè)計(jì)中,因?yàn)樾枰_發(fā)的是記事本程序,規(guī)模較小,內(nèi)容較少,所以選擇了適合初學(xué)者使用的eclipse開發(fā)工具。

三、分析與設(shè)計(jì)

1.分析

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

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

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

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

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

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

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

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

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

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

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

3.功能模塊流程圖

4.各模塊的關(guān)鍵代碼

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

public MainFrame(String name){

this.name=name;

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

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

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

一、菜單界面

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);

//

四、設(shè)置標(biāo)題等

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();//設(shè)置自動換行

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

//設(shè)置鼠標(biāo)右擊彈框效果

//cut

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

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

cutItem.addActionListener(this);

//copy

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

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

copyItem.addActionListener(this);

//paste

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

pasteItem.setAccelerator(KeyStroke.getKeyStroke(”ctrl v“));//設(shè)置快捷鍵 ”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“){//復(fù)制

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);

} 設(shè)為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();} 系統(tǒng)測試

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

3、菜單欄 a.總菜單

b.新建菜單

c.刪除菜單

d.顯示菜單

e.“菜單”菜單

f.幫助 4.導(dǎo)入筆記、導(dǎo)出筆記、及插入圖片選擇

5.字體顏色選擇

6.插入時間

7、插入圖片

四、課程設(shè)計(jì)進(jìn)度

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

(一)理論學(xué)習(xí)和開題論證

1.瀏覽相關(guān)網(wǎng)站,查閱與課題研究的相關(guān)理論、研究方法; 2.運(yùn)用文獻(xiàn)研究法,深入學(xué)習(xí)java理論,對要有關(guān)課題研究的知識進(jìn)行理論上的研究和探討。3,制訂研究計(jì)劃和方案。

(二)第一階段

1.以調(diào)查法為主開展研究。(1)對有關(guān)java的課題設(shè)計(jì)進(jìn)行調(diào)查,查閱網(wǎng)絡(luò)上java應(yīng)用的設(shè)計(jì)案例,并分析和總結(jié),尋找思路。(2)對更新頻率快的java應(yīng)用進(jìn)行追蹤,采取觀察,評價、討論的方式分析和總結(jié)。

2.制訂第二階段實(shí)驗(yàn)方案,為下階段實(shí)驗(yàn)做準(zhǔn)備。

(三)第二階段

1.按計(jì)劃在繼續(xù)第一階段實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)一步加強(qiáng)java應(yīng)用的實(shí)施和研究。采用實(shí)驗(yàn)法對上一階段的總結(jié)的結(jié)論進(jìn)行驗(yàn)證和拓展。

2.讓同學(xué)體驗(yàn)一下我們初步完成的作品,根據(jù)他們用完之后的感受,進(jìn)一步修正作品存在的問題,完善作品。

(四),總結(jié)階段

1.收集和整理研究資料,參照相關(guān)書籍分析和研究實(shí)驗(yàn)情況 2.制訂總結(jié)階段計(jì)劃 3.總結(jié)和提煉研究成果 4.全面總結(jié)實(shí)驗(yàn)工作 5.解題論證

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

五、心得體會

此次課程設(shè)計(jì)由我們小組一起共同合作完成,花費(fèi)了差不多兩個月的時間。在這期間我們共同協(xié)作,互幫互助取得了很好的效率,也為我們構(gòu)建友好的同學(xué)關(guān)系,學(xué)習(xí)氣氛良好做出了一定的貢獻(xiàn)。在這期間我領(lǐng)略到了團(tuán)隊(duì)協(xié)作的重要性,13 也看到了團(tuán)隊(duì)合作的高效率性。還有通過這次試驗(yàn)我們領(lǐng)悟到了團(tuán)隊(duì)的力量是巨大的,也學(xué)習(xí)到的一些學(xué)習(xí)方法,比如追查API,如何在短時間內(nèi)學(xué)習(xí)一個自己不懂的東西那就是利用好所有的搜索引擎,多去圖書館找資料。總之此次課程設(shè)計(jì)我們不僅長了學(xué)科知識,在生活上我也長了見識。

六、參考文獻(xiàn)

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

七、附錄

1.程序結(jié)構(gòu) 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 {

/**打開選擇框 返回詳細(xì)地址*/ 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“;} /**保存選擇框 返回詳細(xì)地址*/ 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“;

}

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

JOptionPane.showMessageDialog(null,text,title,JOptionPane.INFORMATION_MESSAGE | JOptionPane.OK_OPTION);} /**新建筆記時將筆記設(shè)為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)建默認(rèn)筆記本

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

try {

book.mkdir();

} catch(Exception e1){

e1.printStackTrace();

}

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

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

try {

note.createNewFile();

Tools.setDocument(note);

} catch(Exception e1){

e1.printStackTrace();

}

}

//構(gòu)造完畢

正式進(jìn)入筆記本

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 {//默認(rèn) NImbus風(fēng)格

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);//設(shè)置透明

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

this.setSize(300,200);

// 獲取屏幕分辨率,以此設(shè)置程序出現(xiàn)在屏幕中央

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;

//處理文件部分內(nèi)容

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

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

/**************筆記本類型部分聲明結(jié)束*****************/

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

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

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());//將第一片設(shè)置為邊界布局

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

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

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

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

secondPanel.add(allBook_o,”North“);

//進(jìn)行卡片布局

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

{

//為每個好友設(shè)置頭像和名字,每一個好友用 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

//將選中部分字體設(shè)為紅色

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);

// //

// //

}

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

刷新中間的目錄

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、將主界面分為四塊 北邊的菜單 以及左中右的筆記本目錄,筆記目錄和筆記內(nèi)容

*

2、左邊目錄為卡片布局,實(shí)現(xiàn)點(diǎn)了”所有筆記“彈出所有筆記的效果

*

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

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

5、實(shí)現(xiàn)了新建刪除筆記(本),但界面刷新有點(diǎn)問題(會重疊)

*

6、采用MVC的思想實(shí)現(xiàn)時事刷新界面的效果

*

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

*

8、注冊登錄系統(tǒng) 已測試成功 在包login里面

*

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

*

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

*

11、顯示處添加實(shí)現(xiàn)多種版本的切換(如可切換成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()+”/默認(rèn)筆記本“);

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

//

一、菜單界面

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);

//

四、設(shè)置標(biāo)題等

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風(fēng)格“),new JMenuItem(”Windows風(fēng)格“),new JMenuItem(”Motif風(fēng)格“),new JMenuItem(”Nimbus風(fēng)格“),new JMenuItem(”水平顯示“),new JMenuItem(”垂直顯示“)

};

//處理menu_menu JMenuItem[] menu_item={

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

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

};

//處理help_menu JMenuItem[] help_item={

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

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(”菜單“);

//將菜單項(xiàng)添加到各菜單

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)//添加分隔線 將導(dǎo)入和導(dǎo)出框起來

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“);

} //構(gòu)造完畢

//實(shí)現(xiàn)風(fēng)格轉(zhuǎn)換

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);

} //實(shí)現(xiàn)監(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);

//如果用戶點(diǎn)取消 或沒有輸入文件名

則不用新建

if(note_name!=null){

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

if(!file.exists())

{

try {

file.createNewFile();

//將新建的筆記格式設(shè)為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();

//將筆記本路徑設(shè)為新建筆記本的路徑

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

mainFrame.leftPanel.update_Left_view();

} catch(Exception e1){

// TODO Auto-generated catch block

e1.printStackTrace();

}

//改變的筆記本總數(shù)

刷新左邊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(”關(guān)于作者“)){

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

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

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

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

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

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

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(”丨導(dǎo)出“)){//即另存為一個筆記

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);//重新調(diào)用一下拆分窗格 }else if(str.equals(”水平顯示“)){ mainFrame.showStyle(1);}else {

try{

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

this.changeFlavor(1);

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

this.changeFlavor(2);

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

this.changeFlavor(3);

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

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;

//鼠標(biāo)右擊部分

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);

}

//處理鼠標(biāo)右擊問題

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中的內(nèi)容

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);//避免某個筆記被刪除之后還可以被點(diǎn)的情況

}

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);

//在該項(xiàng)上右擊彈出一個選擇框

items[i].setComponentPopupMenu(right_Click);

}

//更新右邊的Panel 里面應(yīng)該沒有內(nèi)容

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);

//如果用戶點(diǎn)了取消 則不用新建筆記

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

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

if(!file.exists())

{

try {

file.createNewFile();

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

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 //設(shè)置選中部分的情況

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);

} }

//記錄被要在右邊顯示出內(nèi)容的筆記途徑

可以在菜單中刪除該筆記

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();//將當(dāng)前筆記的途徑

存到輔助路徑中

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實(shí)現(xiàn)圖片即單個文字更改字體或顏色的功能

*/ 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;//鼠標(biāo)右擊部分

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();

//設(shè)置自動換行

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

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

//設(shè)置鼠標(biāo)右擊彈框效果

//cut

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

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

cutItem.addActionListener(this);

//copy

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

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

copyItem.addActionListener(this);

//paste

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

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

pasteItem.addActionListener(this);

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

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

saveItem.addActionListener(this);

//將各菜單項(xiàng)添加到 右擊菜單組中

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(”點(diǎn)擊可以插入當(dāng)前時間“);

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);} //保存當(dāng)前筆記

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“){//復(fù)制

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課程設(shè)計(jì)

Java及J2EE課程設(shè)計(jì)題目

1、文件檔案管理

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

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

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

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

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

應(yīng)用工具:jsp+struts+jdbc

題目等級:A2、運(yùn)動員檔案管理

運(yùn)動員檔案管理系統(tǒng)是對運(yùn)動員的基本信息及參加比賽的情況進(jìn)行管理維護(hù)。分為兩個模塊:運(yùn)動員建檔、比賽記錄。

5.運(yùn)動員建檔增加、刪除和修改,其字段有:學(xué)生編號、姓名、出生日期、性別、民族、政治面貌、主修項(xiàng)目、聯(lián)系方式

6.對運(yùn)動員的檔案進(jìn)行模糊查詢,查詢條件有:學(xué)生編號、學(xué)生姓名、性別、主修項(xiàng)目

7.對比賽記錄進(jìn)行增加、刪除、修改,其字段有:學(xué)生編號、姓名、時間、地點(diǎn)、比賽名稱、參加項(xiàng)目、成績、名次

8.對比賽記錄進(jìn)行模糊查詢,查詢條件有:學(xué)生編號、學(xué)生姓名、比賽名稱、參加項(xiàng)目、成績 應(yīng)用工具:jsp+struts+jdbc

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

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

應(yīng)用工具:jsp+struts+jdbc

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

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

應(yīng)用工具:jsp+struts+jdbc

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

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

應(yīng)用工具:jsp+struts+jdbc

題目等級:A6、會議管理

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

題目等級:A7、日程管理

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

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

應(yīng)用工具:jsp+struts+jdbc

題目等級:A8、日志管理

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

應(yīng)用工具:jsp+struts+jdbc

題目等級:A9、用戶管理

為了方便網(wǎng)站管理者對用戶進(jìn)行身份確認(rèn),或者是用戶購買以后進(jìn)行配送等服務(wù),必須要有用戶管理系統(tǒng)。用戶管理系統(tǒng)應(yīng)該具有用戶注冊、用戶登錄、用戶修改和用戶注銷等功能。

1. 用戶注冊(1)

2. 用戶登錄(1)

3. 用戶信息修改(1)

4. 用戶注銷(1)

應(yīng)用工具:jsp+struts+jdbc

題目等級:A10、數(shù)據(jù)查詢

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

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

2. 分頁顯示功能(1)

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

應(yīng)用工具:jsp+struts+jdbc

題目等級:A11、購物車

1.添加到購物車(1)

2.查看購物車(1)

3.購物車操作(1)

4.結(jié)帳(1)

應(yīng)用工具:jsp+struts+jdbc

題目等級:A

12.新聞管理系統(tǒng)

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

傳自己,發(fā)布信息的主要形式,而在網(wǎng)絡(luò)新聞的宣傳是一個新興事務(wù),并且發(fā)展很快,已經(jīng)成為一個重要信息發(fā)布媒體。所以現(xiàn)要求你設(shè)計(jì)一個用于新聞管理的信息系統(tǒng),實(shí)現(xiàn)新聞的編輯與發(fā)布。

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

使用JSP技術(shù)。

題目等級:B

13.在線考試系統(tǒng)

題目:考試作為學(xué)員學(xué)習(xí)效果的檢驗(yàn)的主要方式一直被采用,而且考試形式也有許多方式,如筆試,面

試等,在線測試作為一種新的考試形式,得到越來越快的發(fā)展。所以現(xiàn)要求你設(shè)計(jì)一個在線考試系統(tǒng),實(shí)現(xiàn)在線測試。

功能能要求:實(shí)現(xiàn)在線測度,在線評測,隨機(jī)出題,試題編輯等功能,技術(shù)上采用JSP+JavaBean實(shí)現(xiàn)。題目等級:A

14.網(wǎng)上書店系統(tǒng)

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

買,花費(fèi)大量的時間也不一定得到一本滿意的書籍。而網(wǎng)上書店就是利用網(wǎng)絡(luò)為人們提供一個足不出戶就可以買到一本理想的書籍的方式。所以要求你設(shè)計(jì)一個網(wǎng)絡(luò)書店系統(tǒng),實(shí)現(xiàn)書籍的在線銷售,在線閱讀。

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

15.學(xué)生學(xué)籍系統(tǒng)

題目:學(xué)生學(xué)籍管理是一個學(xué)校管理的重要組成部分,學(xué)生學(xué)籍管理也是最麻煩的一項(xiàng)管理,所以實(shí)現(xiàn)

學(xué)生學(xué)籍管理的信息化是一種簡化管理的主要途徑。現(xiàn)要求你設(shè)計(jì)一個實(shí)現(xiàn)學(xué)生學(xué)籍管理的系統(tǒng),實(shí)現(xiàn)學(xué)生學(xué)籍管理的信息化。

功能要求:學(xué)生學(xué)籍注冊,查詢,更新,學(xué)生獎懲,學(xué)籍變動等功能。技術(shù)上要求采用JSP技術(shù)實(shí)現(xiàn)。題目等級:B

16.留言本

題目:留言本是網(wǎng)站中用于與管理員進(jìn)行信息交流的主要方式,是網(wǎng)站中的一個重要功能之一,現(xiàn)要求

你設(shè)計(jì)一個留言本,實(shí)現(xiàn)在線留言。

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

題目等級:C

17.在線投票問卷管理系統(tǒng)

題目:在線調(diào)查是調(diào)查了解對某件事情人們反映的主要方式,是目前比要流行的一種調(diào)查方式。現(xiàn)要求

實(shí)現(xiàn)一個在線投票調(diào)查系統(tǒng),并可以進(jìn)行結(jié)果統(tǒng)計(jì),結(jié)果評測等功能。

功能要求:在線投票,在線答卷,在線統(tǒng)計(jì),在線評測等功能,技術(shù)上采用JSP實(shí)現(xiàn)。

題目等級:C

18.員工檔案管理系統(tǒng)

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

功能要求:員工檔案注冊,員工考核,員工調(diào)動等功能,技術(shù)上采用JSP+JavaBean實(shí)現(xiàn)。

題目等級:A

19.文本編輯器

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

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

20.計(jì)算器

題目:參照Windows計(jì)算器程序設(shè)計(jì)一個計(jì)算器,可以實(shí)現(xiàn)數(shù)學(xué)計(jì)算。

功能要求:要求功能上要與Windows計(jì)算器功能類似。

題目等級:C

21.HANNOI-塔

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

題目等級:B

22.挖雷游戲

題目:運(yùn)用多線程程序與圖形接口技術(shù)設(shè)計(jì)一個挖雷游戲程序,要求有簡易的圖形界面。

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

題目等級:A

23.動態(tài)時鐘

題目:運(yùn)用Applet和多線程技術(shù)設(shè)計(jì)鐘表程序,以實(shí)現(xiàn)當(dāng)前時鐘的顯示。

功能要求:要求有表盤,可以調(diào)整時間。

題目等級:B

24.音樂播放器

題目:運(yùn)用Applet技術(shù)設(shè)計(jì)一個可以播放音樂的播放器。

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

題目等級:C

25.實(shí)驗(yàn)室網(wǎng)上簽到系統(tǒng)

題目:要求實(shí)現(xiàn)一個實(shí)驗(yàn)在線簽到系統(tǒng),學(xué)生可以在上實(shí)驗(yàn)時完成簽到。

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

術(shù)實(shí)現(xiàn)。

題目等級:B

26.用戶管理系統(tǒng)

題目:要求實(shí)現(xiàn)用戶管理系統(tǒng),可以實(shí)現(xiàn)用戶注冊,用戶權(quán)限管理等功能。

功能要求:用戶注冊,用戶極限分配,用戶登錄等功能。技術(shù)采用JSP技術(shù)實(shí)現(xiàn)。、題目等級:C

27.圖書館管理系統(tǒng)

題目:要求實(shí)現(xiàn)圖書館的在線管理,學(xué)生可以在線借書,在線閱覽等功能。

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

28.求職招聘系統(tǒng)

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

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

29.倉庫管理系統(tǒng)

題目:倉庫管理是一個非常煩瑣,但是很重要的工作。如果能夠?qū)崿F(xiàn)倉庫管理的計(jì)算機(jī)處理,對于提

高工作效率,降低工作成本,能夠起到非常重要的作用,所以現(xiàn)要求實(shí)現(xiàn)一個倉庫管理系統(tǒng),實(shí)現(xiàn)倉庫的信息化管理。

功能要求:實(shí)現(xiàn)貨物的出庫,入庫,庫存統(tǒng)計(jì),庫存預(yù)警等功能。技術(shù)上采用JSP+JavaBean技術(shù)實(shí)現(xiàn)。題目等級:B

30企業(yè)網(wǎng)站管理系統(tǒng)

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

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

31.流量統(tǒng)計(jì)系統(tǒng)

題目:網(wǎng)絡(luò)流量是反映一個網(wǎng)站受關(guān)注度情況的重要表現(xiàn),是網(wǎng)站調(diào)整版面信息的參考,訪問流量高的網(wǎng)站證明其效益非常好,是一個非常理想的網(wǎng)站,但流量低的網(wǎng)站就需要進(jìn)行信息的更新和版面的修改,以提高網(wǎng)站的訪問量,這樣網(wǎng)站流量的時時統(tǒng)計(jì)能夠給網(wǎng)站管理員提供一個網(wǎng)站運(yùn)行情況信息參考,為其更好的管理網(wǎng)站提供幫助。現(xiàn)要求你設(shè)計(jì)一個網(wǎng)站訪問流量的統(tǒng)計(jì)系統(tǒng),時時統(tǒng)計(jì)網(wǎng)站訪問流量。

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

術(shù)實(shí)現(xiàn)。

題目等級:C

其它可選題目

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

(1)酒店管理信息系統(tǒng)

(2)客房管理信息系統(tǒng)

(3)藥品管理信息系統(tǒng)

(4)學(xué)籍管理信息系統(tǒng)

(5)成績管理信息系統(tǒng)

(6)宿舍管理信息系統(tǒng)

(7)圖書管理信息系統(tǒng)

(8)財(cái)務(wù)處理信息系統(tǒng)

(9)固定資產(chǎn)核算信息系統(tǒng)

(10)工資管理信息系統(tǒng)

(11)材料管理信息系統(tǒng)

(12)成本管理信息系統(tǒng)

(13)房地產(chǎn)產(chǎn)權(quán)產(chǎn)籍管理信息系統(tǒng)的開發(fā)

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

(15)建設(shè)工程報(bào)價管理信息系統(tǒng)的開發(fā)

(16)建設(shè)工程預(yù)算系統(tǒng)的開發(fā)

(17)項(xiàng)目材料管理信息系統(tǒng)的開發(fā)

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

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

(20)機(jī)械設(shè)備租賃管理系統(tǒng)的開發(fā)

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

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

(23)企業(yè)職工培訓(xùn)管理信息系統(tǒng)的開發(fā)

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

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

第五篇:Java課程設(shè)計(jì)報(bào)告

課 程 設(shè) 計(jì)

課程名稱 Java語言課程設(shè)計(jì) 題目名稱 人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生學(xué)院 應(yīng)用數(shù)學(xué)學(xué)院 專業(yè)班級 學(xué) 號 學(xué)生姓名 指導(dǎo)教師 劉科峰

2014 年 10 月 29

日 一.設(shè)計(jì)內(nèi)容

自學(xué)Swing圖形界面設(shè)計(jì)和數(shù)據(jù)庫程序設(shè)計(jì)。開發(fā)用于某單位的人事管理系統(tǒng)。該系統(tǒng)要求實(shí)現(xiàn)以下功能:

1.員工信息管理包括:員工信息一覽表、新員工的建立、修改 2.薪資福利管理:考勤與薪資的連動計(jì)算、薪資與福利的設(shè)置

3.考勤假期管理:考勤項(xiàng)目錄入, 實(shí)現(xiàn)考勤信息的查詢、統(tǒng)計(jì)、匯總 4.人事報(bào)表管理:按照員工性別,數(shù)目,薪酬自動生成相關(guān)報(bào)表, 可自定義統(tǒng)計(jì)分析條件并可對歷史報(bào)表進(jìn)行管理。

設(shè)計(jì)亮點(diǎn)

1.null布局方式

Swing圖形界面設(shè)計(jì)中有很多布局方式,通過本次學(xué)習(xí)了解到了FlowLayout,BorderLayout,GridLayout以及null布局,就這四種布局方式而言,null布局的優(yōu)點(diǎn)在于可以將組建的位置精準(zhǔn)到坐標(biāo)值,可以把組件放到任意想放置的位置,另外可以通過null去設(shè)置組件的大小,相較于其他布局方式來說是一個很大的優(yōu)勢。但同時它的缺點(diǎn)在于不能根據(jù)Frame的大小變化而改變位置。

2.組件部分屬性的設(shè)計(jì)

Swing中有很多方法是用來實(shí)現(xiàn)組件屬性設(shè)置的,比如button.setVisible(false);按鈕通過調(diào)用這個方法實(shí)現(xiàn)不可見,這是我此次課程設(shè)計(jì)中的一個亮點(diǎn),因?yàn)榻M件是沒有設(shè)置大小的方法的,只有依靠于相應(yīng)的布局方式才能改變它的大小,通過設(shè)置多幾個按鈕設(shè)為不可見,將所要可見按鈕實(shí)現(xiàn)大小以及位置的控制是一種很好的方法。

二、設(shè)計(jì)方案

1主界面(只列出界面設(shè)計(jì)方面的代碼)

JPanel panel=new JPanel();JTable table=null;JButton ibtn=new JButton(“員工信息”);JButton cbtn=new JButton(“考勤管理”);JButton mbtn=new JButton(“薪資管理”);JButton tbtn=new JButton(“人事報(bào)表”);ImageIcon rtou = new ImageIcon(“rentou.jpg”);

JLabel imgLabel=new JLabel(rtou);

//上面代碼定義了一個面板與四個標(biāo)簽,并引入了一個圖片

panel.setLayout(new FlowLayout());//設(shè)置面板為流布局

panel.add(ibtn);panel.add(cbtn);panel.add(mbtn);panel.add(tbtn);panel.setBackground(Color.GRAY);

//將按鈕加到面板中,設(shè)置面板為灰色

this.add(imgLabel,BorderLayout.CENTER);this.add(panel,BorderLayout.SOUTH);this.setBounds(300, 180, 600, 350);this.setVisible(true);this.getContentPane().setBackground(Color.GRAY);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/*圖片標(biāo)簽以邊框布局放置在中間,將面板也以邊框布局放置在下面,可見,灰色,點(diǎn)擊關(guān)閉程序*/

(2)查詢員工界面(只列出界面設(shè)計(jì)方面的代碼)

Label idlabel = new JLabel(“ID”);JLabel namelabel = new JLabel(“姓名”);JLabel bumenlabel = new JLabel(“部門”);JLabel zhiweilabel = new JLabel(“職位”);

JTextField idfiled = new JTextField(8);JTextField namefield = new JTextField(8);JComboBox bumenbox =new JComboBox();JComboBox zhiweubox = new JComboBox();

JButton btn=new JButton(“查詢”);JButton ibtn=new JButton(“添加”)

JPanel spanel=new JPanel();JPanel vpanel=new JPanel();

/*定義和各個組件,4個標(biāo)簽,兩個文本框,兩個復(fù)選框,兩個按鈕,兩個面板容器*/ spanel.setLayout(new FlowLayout());

vpanel.setLayout(new FlowLayout(FlowLayout.CENTER,45,25));

bumenbox.addItem(“");

bumenbox.addItem(”管理部“);

bumenbox.addItem(”生產(chǎn)部“);

bumenbox.addItem(”業(yè)務(wù)部“);

zhiweubox.addItem(”“);

zhiweubox.addItem(”部長“);

zhiweubox.addItem(”副部長“);

zhiweubox.addItem(”普工“);

spanel.add(idlabel);

spanel.add(idfiled);

spanel.add(namelabel);

spanel.add(namefield);

spanel.add(bumenlabel);

spanel.add(bumenbox);

spanel.add(zhiweilabel);

spanel.add(zhiweubox);

spanel.add(btn);

vpanel.add(ibtn);

spanel.setBackground(Color.GRAY);

vpanel.setBackground(Color.GRAY);

//將各個組件放進(jìn)對應(yīng)面板,設(shè)置相關(guān)屬性

this.add(spanel,BorderLayout.NORTH);

this.add(vpanel,BorderLayout.SOUTH);

this.setBounds(300, 180, 600, 350);

this.setVisible(true);

this.getContentPane().setBackground(Color.GRAY);

//將面板以邊框布局放入框架中,設(shè)置屬性(3)增加員工信息界面

JPanel panel=new JPanel();

JLabel timeLabel=new JLabel(”時間“);JLabel allnumLabel=new JLabel(”員工總數(shù)“);

JLabel staffMoLabel=new JLabel(”考勤“);JLabel entryLabel=new JLabel(”全勤“);

JLabel quitLabel=new JLabel(”缺勤“);JLabel mwLabel=new JLabel(”性別比例“);

JLabel manLabel=new JLabel(”男“);

JLabel womanLabel=new JLabel(”女“);JLabel proportionLabel=new JLabel(”男女比例“);JLabel distributionLabel=new JLabel(”人員部門分布“);JLabel mdpLabel=new JLabel(”管理部“);

JLabel pdpLabel=new JLabel(”生產(chǎn)部“);JLabel bdpLabel=new JLabel(”業(yè)務(wù)部“);JLabel xmLabel=new JLabel(”項(xiàng)目“);JLabel xzLabel=new JLabel(”細(xì)則“);JLabel stLabel=new JLabel(”數(shù)據(jù)統(tǒng)計(jì)“);

JTextField timeFiled = new JTextField(8);

JTextField allnumFiled = new JTextField(8);JTextField entryFiled = new JTextField(8);JTextField quitFiled = new JTextField(8);JTextField manFiled = new JTextField(8);JTextField womanFiled = new JTextField(8);JTextField proportionFiled = new JTextField(8);JTextField mdpFiled = new JTextField(8);JTextField pdpFiled = new JTextField(8);JTextField bdpFiled = new JTextField(8);// 定義所需組件

public Selectrenshi(String tablename){

super(”人事管理“);

panel.setLayout(null);

panel.setBackground(Color.GRAY);

panel.add(xmLabel);

panel.add(xzLabel);

panel.add(stLabel);

panel.add(timeLabel);

panel.add(timeFiled);

panel.add(allnumLabel);

panel.add(allnumFiled);

panel.add(staffMoLabel);

panel.add(entryLabel);

panel.add(entryFiled);

panel.add(quitLabel);

panel.add(quitFiled);

panel.add(mwLabel);

panel.add(manLabel);

panel.add(manFiled);

panel.add(womanLabel);

panel.add(womanFiled);

panel.add(proportionLabel);

panel.add(proportionFiled);

panel.add(distributionLabel);

panel.add(mdpLabel);

panel.add(mdpFiled);

panel.add(pdpLabel);

panel.add(pdpFiled);

panel.add(bdpLabel);

panel.add(bdpFiled);

//將組件加到相應(yīng)面板中

xmLabel.setBounds(120,20,100,30);

xzLabel.setBounds(240,20,100,30);

stLabel.setBounds(360,20,100,30);

timeLabel.setBounds(120,50,100,30);

timeFiled.setBounds(360,50,100,30);

allnumLabel.setBounds(120,100,100,30);

allnumFiled.setBounds(360,100,100,30);

staffMoLabel.setBounds(120,150,100,30);

entryLabel.setBounds(240,150,100,30);

entryFiled.setBounds(360,150,100,30);

quitLabel.setBounds(240,200,100,30);

quitFiled.setBounds(360,200,100,30);

mwLabel.setBounds(120,250,100,30);

manLabel.setBounds(240,250,100,30);

manFiled.setBounds(360,250,100,30);

womanLabel.setBounds(240,300,100,30);

womanFiled.setBounds(360,300,100,30);

proportionLabel.setBounds(240,350,100,30);

proportionFiled.setBounds(360,350,100,30);

distributionLabel.setBounds(120,400,100,30);

mdpLabel.setBounds(240,400,100,30);

mdpFiled.setBounds(360,400,100,30);

pdpLabel.setBounds(240,450,100,30);

pdpFiled.setBounds(360,450,100,30);

bdpLabel.setBounds(240,500,100,30);

bdpFiled.setBounds(360,500,100,30);

//采用null布局,設(shè)置組建坐標(biāo)值

this.add(panel,BorderLayout.CENTER);

this.setBounds(300, 100, 600, 600);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().setBackground(Color.GRAY);

//將面板放入框架,設(shè)置相應(yīng)屬性(4)員工考勤界面

JLabel idlabel = new JLabel(”ID“);JComboBox idbox =new JComboBox();CheckTable model = null;

JButton wbtn=new JButton(”修改“);

JButton cbtn=new JButton(”查詢“);JButton mbtn=new JButton(”創(chuàng)建薪資表“);JButton rbtn=new JButton(”創(chuàng)建人事表“);

JScrollPane scrollpane = null;JPanel spanel=new JPanel();JPanel vpanel=new JPanel();JTable table=null;spanel.add(idbox);panel.add(wbtn);spanel.add(cbtn);vpanel.add(mbtn);vpanel.add(rbtn);spanel.setBackground(Color.GRAY);vpanel.setBackground(Color.GRAY);this.add(spanel,BorderLayout.NORTH);this.add(vpanel,BorderLayout.SOUTH);this.setBounds(300, 180, 600, 350);this.setVisible(true);this.getContentPane().setBackground(Color.GRAY);

(5)選擇考勤表界面

JLabel checklabel = new JLabel(”選擇考勤表“);JLabel newlabel = new JLabel(”創(chuàng)建考勤表“);JComboBox timebox =new JComboBox();JTextField newfield = new JTextField();JButton btn=new JButton(”確認(rèn)“);JButton nbtn=new JButton(”創(chuàng)建");JPanel spanel=new JPanel();spanel.add(checklabel);

spanel.add(timebox);

spanel.add(btn);

spanel.add(newlabel);

spanel.add(newfield);

spanel.add(nbtn);

checklabel.setBounds(30,90,100,30);

timebox.setBounds(180,90,100,30);

btn.setBounds(360,90,100,30);

newlabel.setBounds(30,200,100,30);

newfield.setBounds(180,200,100,30);

nbtn.setBounds(360,200,100,30);

this.add(spanel);

this.setBounds(300, 180, 600, 350);

this.setVisible(true);

三、結(jié)果和數(shù)據(jù)處理

四、結(jié)論

1.Swing圖形界面

圖形用戶界面(GUI)是程序不可或缺的一部分,它便于用戶和程序的交互。在Swing界面中是以Frame為框架,采用合理的布局方式(FlowLayout,BorderLayout,GridLayout,null),將Panel加入框架之中,而實(shí)現(xiàn)界面的各個組件將調(diào)用各種方法設(shè)置自身屬性實(shí)行可視化界面以及加入到面板之中。再通過事件監(jiān)聽器實(shí)現(xiàn)事件的監(jiān)聽預(yù)處理機(jī)制。

2.數(shù)據(jù)庫

在這次課程設(shè)計(jì)中哦我主要負(fù)責(zé)Swing圖像界面,對于數(shù)據(jù)庫只做了最簡單的了解。程序中采用了最流行的關(guān)系型數(shù)據(jù)庫mysql,雪化了mysql的建立,刪除,與修改以及使用sql語言對數(shù)據(jù)庫進(jìn)行一些簡單的操作,將按鈕等設(shè)置的監(jiān)聽事件與數(shù)據(jù)庫相連接。

五、問題與討論

1.組件的方法調(diào)用

在這次課程設(shè)計(jì)中,用到了很多的組件,例如Button,Jlabel,TextField,ComBox,等。Swing圖形界面也確實(shí)提供了很多方法去設(shè)置相關(guān)組件的屬性,例如label.setVisible(false);設(shè)置標(biāo)簽不可見等很多方法,只要查看API文檔幾乎就能實(shí)現(xiàn)很多功能,但是對于按鈕等最常見的組件來說設(shè)置大小如果不依靠相關(guān)布局方式很難設(shè)置,我在程序中之所以運(yùn)用了很多的bull布局方式就是為了實(shí)現(xiàn)組件大小的設(shè)置,如果說能有一個方法直接設(shè)置組件大小而不受其他組件或容器影響就能使代碼很簡潔了。2.相對布局

在編寫圖像界面的程序的時候,我用了很多的布局方式,有FlowLayout,BorderLayout,GrirLayout,null等,其中null布局用的最多。null布局的優(yōu)點(diǎn)在于可以將組建的位置精準(zhǔn)到坐標(biāo)值,可以把組件放到任意想放置的位置,另外可以通過null去設(shè)置組件的大小,相較于其他布局方式來說是一個很大的優(yōu)勢。但同時它的缺點(diǎn)在于不能根據(jù)Frame的大小變化而改變位置。其他三種布局方式雖然實(shí)現(xiàn)了歲Frame大小變動而改變組件大小及位置但是不容易控制,如果null布局能實(shí)現(xiàn)相對布局就是很好的一種布局方式了。

下載Java課程設(shè)計(jì)心得體會word格式文檔
下載Java課程設(shè)計(jì)心得體會.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


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

相關(guān)范文推薦

    貪吃蛇java課程設(shè)計(jì)

    import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Snake extends JFrame { private JPanel contentPane; //窗體內(nèi)容網(wǎng)格 private JButton......

    java課程設(shè)計(jì)總結(jié)

    java課程設(shè)計(jì)總結(jié) java語言程序設(shè)計(jì)是高校計(jì)算機(jī)相關(guān)專業(yè)的一門重要課程,小編收集了java課程設(shè)計(jì)總結(jié),歡迎閱讀。 java課程設(shè)計(jì)總結(jié)【一】在java課程設(shè)計(jì)中,要認(rèn)清楚到底這在......

    java課程設(shè)計(jì)報(bào)告[本站推薦]

    《Java語言程序設(shè)計(jì)》 題 目:指導(dǎo)老師:姓 名:專 業(yè):班 級:日 期:課程設(shè)計(jì)報(bào)告 目 錄 一、系統(tǒng)總體設(shè)計(jì) ....................................... 1 (一)設(shè)計(jì)目標(biāo)及完成功能..............

    《java》課程設(shè)計(jì)任務(wù)書(2015)

    課 程 設(shè) 計(jì) 任 務(wù) 書 信息工程與自動化 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 2015 年級 學(xué)生姓名: 課程設(shè)計(jì)主要內(nèi)容: 課程設(shè)計(jì)題目: 中級程序設(shè)計(jì)課程設(shè)計(jì)(java可視化編程) 一、設(shè)......

    Java課程設(shè)計(jì)題目

    Java課程設(shè)計(jì)題目 一、Java語言課程設(shè)計(jì)目的和要求 1.目的: 1)復(fù)習(xí)、鞏固Java語言的基礎(chǔ)知識,進(jìn)一步加深對Java語言的理解和掌握; 2)課程設(shè)計(jì)為學(xué)生提供了一個既動手又動腦,獨(dú)立實(shí)......

    Java課程設(shè)計(jì)報(bào)告

    《Java課程實(shí)習(xí)》報(bào)告 題目 學(xué)號 學(xué)生姓名 音樂播放器 201011621335 201011621329 200811621320 朱劍峰 薛文博 劉彬 聯(lián)系方式 *** *** *** 所在......

    JAVA課程設(shè)計(jì)報(bào)告_完整版

    《JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)》 課 程 設(shè) 計(jì) 報(bào) 告 (2011-2012學(xué)年第2學(xué)期)系 別: 專業(yè)名稱: 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 10級網(wǎng)絡(luò)工程1班 課程設(shè)計(jì)科目: 《JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)......

    java課程設(shè)計(jì)報(bào)告—計(jì)算器

    1 --計(jì)算器 Java實(shí)習(xí)報(bào)告目錄一、課程設(shè)計(jì)目的 ................................................................................................................. 2......

主站蜘蛛池模板: 亚洲人成色7777在线观看不卡| 男人的天堂av亚洲一区2区| 国产中年熟女高潮大集合| 色偷偷av老熟女| 少妇白浆高潮无码免费区| 无遮挡边摸边吃奶边做视频免费| 韩国无码av片在线观看网站| 欧美丰满大乳高跟鞋| www国产亚洲精品久久麻豆| 久久精品无码一区二区日韩av| 亚洲女同精品一区二区| 99久久国产综合精品swag| 亚洲精品国产精品国自产观看| 屁屁影院ccyy备用地址| 欧洲熟妇色xxxxx欧美老妇伦| 午夜男女爽爽爽在线视频| 亚洲色播永久网址大全| 全黄h全肉边做边吃奶视频| 亚洲免费综合色在线视频| 国产成人av无码精品| 欧美亚洲日本国产综合在线美利坚| 国产三级精品三级在专区| 国产av无码专区亚洲a√| 中文字幕亚洲欧美在线不卡| 国产精品毛片久久久久久久| 波多野结av在线无码中文免费| 日本一区二区在线高清观看| 精品人妻无码一区二区三区换脸| 亚洲熟妇av一区二区三区浪潮| 97精品一区二区视频在线观看| 一本久道综合在线无码人妻| 亚洲精品一区二区三区四区乱码| 好吊妞视频这里有精品| 无码av不卡免费播放| 米奇影视第四色| 欧美国产日韩a在线观看| 国产麻豆精品传媒av国产| 麻豆精品偷拍人妻在线网址| 性高朝久久久久久久| 樱桃视频影视在线观看免费| 午夜片无码区在线观看视频|