版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java程序設(shè)計(jì)課程實(shí)驗(yàn)?zāi)?錄目 錄1一、引言21.1 課程設(shè)計(jì)目的21.2 實(shí)驗(yàn)內(nèi)容21.3 開發(fā)工具介紹2二、總體設(shè)計(jì)32.1系統(tǒng)開發(fā)平臺(tái)32.2 系統(tǒng)流程圖42.3功能結(jié)構(gòu)圖4三、詳細(xì)說明43.1 系統(tǒng)實(shí)施5四、系統(tǒng)的調(diào)試和運(yùn)行9五、課程設(shè)計(jì)總結(jié)9六、參考文獻(xiàn)9附錄(源程序代碼)10一、 引言 1.1實(shí)驗(yàn)?zāi)康?. 掌握?qǐng)D形用戶界面程序的界面設(shè)計(jì)。2. 掌握布局管理器的使用。3. 掌握事件處理的原理。 1.2實(shí)驗(yàn)內(nèi)容1.設(shè)計(jì)一個(gè)圖形界面(GUI)的記事本應(yīng)用程序。(1)提供菜單選擇功能,菜單項(xiàng)設(shè)計(jì)如下圖所示。(2)利用文件選擇對(duì)話框選擇要編輯的文件,編輯完成后進(jìn)行保存。(3)提高(選做):
2、在基本功能基礎(chǔ)上增加文字格式的設(shè)置功能。(4)提高(選做):為菜單項(xiàng)設(shè)計(jì)工具欄。1.3 開發(fā)工具介紹Eclipse是一種可擴(kuò)展的開放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。利用Eclipse,
3、我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。如果這些互相補(bǔ)充的獨(dú)立工具采用Eclipse擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時(shí),UML對(duì)話框可以突出顯示我們正在關(guān)注的器件。事實(shí)上,由于Eclipse并不了解開發(fā)語言,所以無論Java語言調(diào)試器、C/C+調(diào)試器還是匯編調(diào)試器都是有效的,并可以在相同的框架內(nèi)同時(shí)瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。 Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似微軟公司的Visual Studio和Sun 微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好
4、地控制自己的軟件技術(shù)。Eclipse 聯(lián)盟已經(jīng)宣布將在2004年中期發(fā)布其3.0版軟件。這是一款非常受歡迎的java開發(fā)工具,這國內(nèi)的用戶越來越多,實(shí)際上實(shí)用它java開發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來較困難。二、總體設(shè)計(jì)2.1 系統(tǒng)開發(fā)平臺(tái)Java(ORACLE) 版本 1.8.0_66-b182.2 系統(tǒng)流程圖啟動(dòng)程序輸入文字打開文件保存文件退出字體顏色關(guān)于about.show()file=openfilecolorsavingSystem.exit(0) 關(guān)閉或退出程序開始2.3 功能結(jié)構(gòu)圖“文件”菜單打開文件退出保存文件用close()關(guān)閉文件用sava()保存文
5、件用JFileChooser()選擇所打開文件路徑用unfold()讀取所選的文件內(nèi)容到記事本3、 詳細(xì)說明3.1 系統(tǒng)實(shí)施 設(shè)計(jì)兩個(gè)類,一個(gè)mynotepad類,再創(chuàng)建一個(gè)Notebad類,然后進(jìn)行代碼輸入,就可以直接在編譯器中運(yùn)行程序。1:界面設(shè)計(jì)在主界面中設(shè)計(jì)一個(gè)Frame容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本域控件。 2:功能設(shè)計(jì)在下拉菜單中加入子菜單,分別實(shí)現(xiàn)對(duì)文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。 3:代碼設(shè)計(jì)編寫每個(gè)控件的相關(guān)代碼,并進(jìn)行調(diào)試。4、 系統(tǒng)的調(diào)試和運(yùn)行5、 設(shè)計(jì)總結(jié)6、 參考文獻(xiàn)附錄(源程序代碼)import java.awt.*;import java
6、.awt.event.*;import javax.swing.*;import java.io.*;class mynotepad extends JFrame File file=null; Color color=Color.red; mynotepad() initTextContent(); initMenu(); initAboutDialog(); void initTextContent() getContentPane().add(new JScrollPane(content); JTextPane content=new JTextPane(); JFileChooser
7、 openfile=new JFileChooser(); JColorChooser opencolor=new JColorChooser(); JDialog about=new JDialog(this); JMenuBar menu=new JMenuBar(); JMenu menus=new JMenunew JMenu("文件"),new JMenu("編輯"),new JMenu("關(guān)于");JMenuItem optionofmenu=new JMenuItemnew JMenuItem("新建"
8、;),new JMenuItem("打開"),new JMenuItem("保存"),new JMenuItem("退出") , new JMenuItem("復(fù)制"), new JMenuItem("剪切"),new JMenuItem("粘貼"),new JMenuItem("顏色") , new JMenuItem("關(guān)于") ; void initMenu() for(int i=0;i<menus.length;i+)
9、menu.add(menusi); for(int j=0;j<optionofmenui.length;j+) menusi.add(optionofmenuij); optionofmenuij.addActionListener( action ); this.setJMenuBar(menu); ActionListener action=new ActionListener() public void actionPerformed(ActionEvent e) String name = e.getActionCommand();JMenuItem MI=(JMenuItem
10、)e.getSource();if("新建".equals(name)content.setText("");file=null;else if("打開".equals(name) if(file !=null)openfile.setSelectedFile(file); int returnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); un
11、fold(); else if("保存".equals(name) if(file!=null) openfile.setSelectedFile(file); int returnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); saving(); else if("退出".equals(name) mynotepad f=new mynotepad(); int
12、s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION); if(s=JOptionPane.YES_OPTION) System.exit(0); else if("剪切".equals(name) content.cut(); else if("復(fù)制".equals(name) content.copy(); else if("粘貼".equals(name) content.paste(); else i
13、f("顏色".equals(name) color=JColorChooser.showDialog(mynotepad.this,"",color); content.setForeground(color); else if("關(guān)于".equals(name) about.setSize(300,150); about.show(); ; void saving() try FileWriter Writef=new FileWriter(file); Writef.write(content.getText(); Writef.
14、close(); catch(Exception e)e.printStackTrace(); void unfold() try FileReader Readf=new FileReader(file); int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer); catch(Exception e)e.printStackTrace(); void initAboutDialog() abo
15、ut.setLayout(new GridLayout(3,1); about.getContentPane().setBackground(Color.white); about.getContentPane().add(new JLabel("我的記事本程序"); about.getContentPane().add(new JLabel("制作者:liuhui"); about.getContentPane().add(new JLabel("2010年6月"); about.setModal(true); about.setSize(100,100); about.setLocation(250,170); ; pub
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版美發(fā)培訓(xùn)學(xué)校師資聘用標(biāo)準(zhǔn)合同4篇
- 2025年度門面租賃合同電子版(含租金遞增與調(diào)整機(jī)制)
- 2025年度簽競業(yè)協(xié)議打工人財(cái)產(chǎn)保全及職業(yè)規(guī)劃合同
- 二零二五年度酒店前臺(tái)員工權(quán)益保障與勞動(dòng)合同
- 二零二五年度超市與物流公司貨物扣點(diǎn)運(yùn)輸合同
- 2025年度復(fù)雜地質(zhì)條件頂管施工安全協(xié)議書
- 2025年度住宅室內(nèi)裝修工程保修協(xié)議
- 2025年度簽競業(yè)協(xié)議打工人財(cái)產(chǎn)保全及心理支持合同
- 2025年度跆拳道青少年運(yùn)動(dòng)員培養(yǎng)合作協(xié)議
- 二零二五年度退休人員教育輔助教學(xué)勞務(wù)合同
- 2024年國家焊工職業(yè)技能理論考試題庫(含答案)
- 特魯索綜合征
- 《向心力》 教學(xué)課件
- 結(jié)構(gòu)力學(xué)數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 2024年山東省泰安市高考語文一模試卷
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 110kv各類型變壓器的計(jì)算單
- 新概念英語課件NCE3-lesson15(共34張)
評(píng)論
0/150
提交評(píng)論