JAVA簡單記事本程序設計實驗報告(帶源碼)要點
《JAVA簡單記事本程序設計實驗報告(帶源碼)要點》由會員分享,可在線閱讀,更多相關《JAVA簡單記事本程序設計實驗報告(帶源碼)要點(23頁珍藏版)》請在裝配圖網上搜索。
1、JAVA程序設計 實驗報告 院 系: 信一工程系 專 業(yè): 計算機應用技術 班 級: 11計算機01班 姓 名: Civen 任課教師: XXX 實驗題目:JAVA簡單記事本程序設計 、引言 2 1.1 課程設計目的 2 1.2 題目說明 2 1.3 開發(fā)工具介紹 2 二、總體設計 2.1 系統(tǒng)開發(fā)平臺 2.2 系統(tǒng)流程圖 2.3 功能結構圖. 2.4 數(shù)據庫設計. 三、詳細說明........ .-4 - -4 - 4 錯誤!未定義書簽。 錯誤!未定義書簽。 4 -11 - 3.1系統(tǒng)實施 四、系統(tǒng)的調試
2、和運行 9 五、課程設計總結 9 六、參考文獻 9 附錄(源程序代碼) 10 一、引言 1.1 課程設計目的 1)復習,鞏固Java語言的基礎知識,進一步加深對 Java語言的理解和掌握; 2)課程設計為學生提供了一個既動手又動腦, 獨立實踐的機會,將課本上的理論知識和 實際有機的結合起來,鍛煉學生的分析解決實際問題的能力,提高學生適應實際 ,實 踐編程的能力; 3)培養(yǎng)學生在項目開發(fā)中團隊合作精神,創(chuàng)新意識及能力。 1 .掌握窗口、菜單等高級組件的應用。 2 .掌握Java Swing的使用方法。 3 . 了解GUI應用程序的創(chuàng)建過程與方法。 1.2 題目說
3、明 課題:學生成績管理 4 .功能要求:編寫一個簡單記事本程序,要求包含以下菜單項 文件 新建、打開、保存、退出 編輯剪切、拷貝、粘貼、查找 幫助關于 5 .實現(xiàn)文件和編輯菜單里的功能 1.3 開發(fā)工具介紹 Eclipse 是一種可擴展的開放源代碼 IDE。2001年11月,IBM公司捐出價值4,000 萬美元的源代碼組建了 Eclipse聯(lián)盟,并由該聯(lián)盟負責這種工具的后續(xù)開發(fā)。集成開發(fā) 環(huán)境(IDE)經常將其應用范圍限定在“開發(fā)、 構建和調試”的周期之中。 為了幫助集成開 發(fā)環(huán)境(IDE)克服目前的局限性, 業(yè)界廠商合作創(chuàng)建了 Eclipse平臺。Eclipse允許在同
4、一 IDE 中集成來自不同供應商的工具,并實現(xiàn)了工具之間的互操作性,從而顯著改變了 項目工作流程,使開發(fā)者可以專注在實際的嵌入式目標上。 利用Eclipse ,我們可以將高級設計(也許是采用UML用低級開發(fā)工具(如應用調試 器等 ) 結合在一起。 如果這些互相補充的獨立工具采用 Eclipse 擴展點彼此連接, 那么當 我們用調試器逐一檢查應用時, UMLM話框可以突出顯示我們正在關注的器件。 事實上, 由于Eclipse并不了解開發(fā)語言,所以無論 Java語言調t器、C/C++調試器還是匯編調 試器都是有效的,并可以在相同的框架內同時瞄準不同的進程或節(jié)點。 Eclipse 的最大特點是
5、它能接受由 Java 開發(fā)者自己編寫的開放源代碼插件, 這類似 微軟公司的 Visual Studio 和 Sun 微系統(tǒng)公司的 NetBeans 平臺。 Eclipse 為工具開發(fā)商 提供了更好的靈活性,使他們能更好地控制自己的軟件技術。 Eclipse 聯(lián)盟已經宣布將 在 2004 年中期發(fā)布其 3.0 版軟件。這是一款非常受歡迎的 java 開發(fā)工具,這國內的用 戶越來越多,實際上實用它 java 開發(fā)人員是最多的。缺點就是較復雜,對初學者來說, 理解起來較困難。 二、總體設計 2.1 系統(tǒng)開發(fā)平臺 前端使用JAVA設計 2.2系統(tǒng)流程圖 圖3.1主流程圖
6、 2.3 功能結構圖 3.2.2 “文件”菜單操作流程圖 開始 “文件”菜單 用 JFileChooser()選擇 文件另存的路徑 另存為 圖3.2 “文件”菜單操作流程圖 用sava()保存文件 用unfold()讀取所選的 文件內容到記事本 退出或關閉 3.
7、2.3 “編輯”菜單操作流程圖 圖3.3 “編輯”菜單操作流程圖 3.2.4 “幫助”菜單操作流程圖 圖3.4 “幫助”菜單操作流程圖 三、詳細說明 設計兩個類,一個jsb類,具有程序的要求和功能再創(chuàng)建一個 keshe主 類,在主類中創(chuàng)建一個jsb類的對象,就可以直接在編
8、譯器中運行程序。 1:界面設計 在主界面中設計一個Frame容器,并在其中加入一個下拉菜單和一個文本 域控件,把該容器設置為 GridLayout(1,1)布局。 2:功能設計 在下拉菜單中加入子菜單并進行監(jiān)聽,分別實現(xiàn)對文件的操作功能。點擊 不同菜單項時,顯示不同界面。 3 :代碼設計 編寫每個控件的相關代碼,并進行調試。 3.1 系統(tǒng)實施 1:界面設計 創(chuàng)建一個下拉菜單和文本域,在文本域中顯示編輯的文件信息。 主要代碼: f=new Frame(s); p1=new TextArea(""); ■ Culc al at nr. 件對話推 f.setSize(
9、400,600); f.setBackground(Color.white); JI f.setVisible(true); s CjIcj.atirGII I ice F: ■l武成: w bO b? b3 un 卬diiLbMt bh勺 IJIEkChl: HHId tF: menubar=new MenuBar(); menu1=new Menu("文件"); privit? urng s,席: 山 CilalilDr cd * tin CklculiLnrO pciYtte [%: menu2=new Menu("編輯"); menu3=new Menu(
10、"幫助"); item1=new MenuItem("新建"); item2=new MenuItem(" 打開"); item3=new MenuItem(" 保存"); item4=new MenuItem(" 另存為"); T|[c x|B [方增延 ■ 1 ■ item5=new MenuItem(" 退出"); item6=new MenuItem("全選"); item7=new MenuItem(" 復制) item8=new MenuItem(" 剪切"); item9=new MenuItem("粘貼
11、"); item10=new MenuItem(" 關于) menul.add(iteml); menu1.add(item2); menu1.add(item4); menu1.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menu3.add(item10); menubar.add(menul); menubar.add(menu2); menubar.add(menu3); f.setMenuBar(menubar); 2:功能設計 對
12、每個菜單項進行注冊監(jiān)聽。點擊不同菜單項時,顯示不同界面。 主要代碼 item1.addActionListener(this); item2.addActionListener(this); item3.addActionListener(this); item4.addActionListener(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item8.addActionListener(this); item9.add
13、ActionListener(this); item10.addActionListener(this); 3:代碼設計 部分菜單項的相關代碼: 新建文件 if (e.getSource()==item1) { if (i==0&&(ss.length()!=0)){ bc(); } else p1.setText("");i=0;f.setTitle(" 文件對話框 "); } 打開文件 if (e.getSource()==item2) { fd=new FileDialog(f," 打開文件 ",0); fd.setVisible(true); try{ fil
14、e=new File(fd.getDirectory(),fd.getFile()); f.setTitle(fd.getFile()+” 文件對話框”); FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String line = null; String view =""; while((line=br.readLine())!=null) { view += line+"\n"; } p1.setText(view); br.close(); fr.close
15、(); } catch(IOException expIn) {} } 復制文件 if (e.getSource()==item7) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { strt=str; } }catch(Exception ex) { } } 粘貼文件 if (e.getSource()==item9 ) { if(strt.length()>0) { p1.insert(strt,p1.getCaretPosition()); } 退出記事本 if (e.getSourc
16、e()==item5) { if (i==0 &&(ss.length()!=0)) { bc(); } else { System.exit(0); } } 四、系統(tǒng)的調試和運行 1:界面調試 確定主窗體,設置主窗體的屬性, 對窗體進行布局,加入所需控件并對控件進行初始化。 在完成加入菜單控件后,不能缺少 f.setMenuBar(menubar); 語句,將 menubar設為主 窗體的菜單條,否則會看不到菜單欄。 如圖: 同番的記事本 13目區(qū) 2:功能調試 對所有菜單項進行注冊監(jiān)聽。當進行除保存以外的菜單項的功能外, 在actionPerformed 中要編
17、寫判斷界面是否已經打開或者編輯了文件,如果是,在進行別的功能之前,先對 本文件的保存功能,以免文件的丟失。在具體實現(xiàn)中可以用變量 i來判斷文件是否處于 保存狀態(tài)。 1 (e. get Source^ ) = = 1, teml ) if (i==0^(33 . length( ) ! = D )如畀浸有保存就是建個 bc( ) j 五、課程設計總結 本次課程設計, 讓我獲益匪淺, 不僅更深入的了解 Java 這門學科, 更使自己有了繼 續(xù)探索的興趣。 于個人而言,在程序設計的過程中,我深感“認真嚴謹”這個詞的重要性,一點點 小的馬虎,便會導致整個程序不能正常運行。在今后的學
18、習中,我定將“認真嚴謹時刻 作為自的謹言。與此同時,本小組成員的互幫互助,讓我體會到了團結的力量,而更讓 人難以忘懷的是在熱烈討論問題時,那激情橫溢的場面??傊?,此次課程設計在我的學 生生涯中啟上了至關重要的作用。 最后,真誠的感謝陳珂、顧成喜老師的指導和教誨。 六、參考文獻 按照以下格式書寫 [1] 權明富,齊佳音,舒華英 . 客戶價值評價指標體系設計 [J]. 南開管理評論, 2004 , 7(3):17-18. [2] 劉小洪,鄒鵬 . 商業(yè)銀行客戶關系價值管理模型研究 [J]. 管理科學, 2005 , 18(3):57-60. 附錄(源程序代碼) import
19、 java.io.*; import java.awt.*; import java.awt.event.*; class FileInAndOut { public static String fileInput(String fName){ String strRead=""; try { FileReader fr=new FileReader(fName); BufferedReader br=new BufferedReader(fr); String aline=new String(); while((aline=br.readLine())!=null) s
20、trRead=strRead+aline; br.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return strRead; } public static void fileWrite(String fName,String temp){ try { FileWriter fw=new FileWriter(fName); BufferedWriter bw=ne
21、w BufferedWriter(fw); bw.write(temp); bw.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } } public class MyNote implements ActionListener { private Frame f; private TextArea ta; private MenuBar mb; private String strme[]={" 文件 ","編輯 ","幫助 "}; private String strmi[
22、][]={{" 新建 ","打開 ","保存 "," 退出 "}, {" 剪切 ","拷貝 ","粘貼 ","查找 "}, {" 關于 "}}; private String fileDir,fileName,temp=""; private Menu me[]; private MenuItem mi[][]; private Label l1,l2; private TextField t1,t2; private Button b1,b2,b3; private Dialog diaFind,diaAbout; public MyNote(){ f=new Frame
23、("無標題一我的記事本”);
ta=new TextArea();
f.add(ta);
mb=new MenuBar();
f.setMenuBar(mb);
mi=new MenuItem[strme.length][];
me=new Menu[strme.length];
for(int i=0;i 24、mi[i][j]=new MenuItem(strmi[i][j]);
me[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
}
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){ System.exit(0);
}
});
f.setSize(400,300);
f.show();
diaFind=new Dialog(f,"查找",true);
diaFind.setLayout(new Flo 25、wLayout());
diaFind.setSize(260,120);
l1=new Label("查找內容");
l2=new Label("替換為)
t1=new TextField(20);
t2=new TextField(20);
b1=new Button("下一個");
b2=new Button("替換)
b3=new Button("取消");
diaFind.add(l1);
diaFind.add(t1);
diaFind.add(l2);
diaFind.add(t2);
diaFind.add(b1);
diaFind.add(b2); 26、
diaFind.add(b3);
diaFind.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ diaFind.dispose();
}
});
}
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
if(cmd.equals("新建")){
fileDir="";
fileName="";
ta.setText("");
f.setTitle("無標 27、題一我的記事本");
}
if(cmd.equals("打開")){
FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOAD);
diaOpen.show();
fileDir=diaOpen.getDirectory();
fileName=diaOpen.getFile();
if(!fileName.equals("")){
ta.setText(FileInAndOut.fileInput(fileDir+fileName)); f.setTitle(fileName+"-- 我的記事本 ");
}
}
if( 28、cmd.equals("保存")){
FileDialog diaSave=new FileDialog(f,"",FileDialog.SA VE);
diaSave.show();
fileDir=diaSave.getDirectory();
fileName=diaSave.getFile();
if(!fileName.equals("")){
FileInAndOut.fileWrite(fileDir+fileName,ta.getText());
f.setTitle(fileName+"-- 我的記事本 ");
}
}
if(cmd.equals("退出" 29、)){
System.exit(0);
}
if(cmd.equals("剪切")){
int x,y;
x=ta.getSelectionStart();
y=ta.getSelectionEnd();
temp=ta.getSelectedText();
ta.replaceRange("",x,y);
}
if(cmd.equals("拷貝")){
temp=ta.getSelectedText();
}
if(cmd.equals("粘貼")){
ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd());
}
if(cmd.equals("查找")){
diaFind.show();
}
if(cmd.equals("關于")){
}
}
public static void main(String[] args) {
new MyNote();
}
}
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結+在機關“弘揚憲法精神推動發(fā)改工作高質量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結
- 2024-2025年秋季第一學期初中歷史上冊教研組工作總結
- 2024年小學高級教師年終工作總結匯報
- 2024-2025年秋季第一學期初中物理上冊教研組工作總結
- 2024年xx鎮(zhèn)交通年度總結
- 2024-2025年秋季第一學期小學語文教師工作總結
- 2024年XX村陳規(guī)陋習整治報告
- 2025年學校元旦迎新盛典活動策劃方案
- 2024年學校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農村規(guī)劃管控述職報告