Java課程設(shè)計 記事本 課程設(shè)計
《Java課程設(shè)計 記事本 課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《Java課程設(shè)計 記事本 課程設(shè)計(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 課程設(shè)計說明 課程名稱: Java課程設(shè)計 設(shè)計題目: 記事本 專 業(yè): 班級: 學生姓名: 學 號: 指導教師: 科技學院教務(wù)部 制 年 月 日 一、系統(tǒng)設(shè)計目的: 1)設(shè)計一個簡單的Windows記事本,可以實現(xiàn)以下功能: 1:文件的新建,打開,保存;
2、 2:對文件的編輯,如全選,復制,剪切,粘貼; 3、工具,進行大小寫的轉(zhuǎn)換 4:執(zhí)行完操作后,能夠順利關(guān)閉記事本; 2)通過這次設(shè)計,可以幫助學生: 1:提高對Java語言設(shè)計的掌握能力; 2:理論聯(lián)系實際,進一步提高學生的軟件開發(fā)技術(shù); 3:培養(yǎng)學生分析、解決問題的能力。 二、系統(tǒng)實現(xiàn)思路: 設(shè)計兩個類,一個mynotepad類,具有程序的要求和功能再創(chuàng)建一個Notepad主類,在主類中創(chuàng)建一個mynotepad類的對象,就可以直接在編譯器中運行程序。 1:界面設(shè)計 在主界面中設(shè)計一個iFrame容器,并在其中加入一個下拉菜單和一個文本域控件。 2:功能
3、設(shè)計 在下拉菜單中加入子菜單并進行監(jiān)聽,分別實現(xiàn)對文件的操作功能。點擊不同菜單項時,進行不同的操作。 3:代碼設(shè)計 編寫每個控件的相關(guān)代碼,并進行調(diào)試。 三、系統(tǒng)詳細設(shè)計 1:界面設(shè)計 創(chuàng)建一個下拉菜單和文本域,在文本域中顯示編輯的文件信息。 主要代碼: JMenu[] menus=new JMenu[]{ new JMenu("文件"), new JMenu("編輯"), new JMenu("工具"), new JMenu("關(guān)于") }; JMenuItem optionofmenu[][]=new JMenu
4、Item[][]{{ new JMenuItem("新建"), new JMenuItem("打開"), new JMenuItem("保存"), new JMenuItem("退出") }, { new JMenuItem("復制"), new JMenuItem("剪切"), new JMenuItem("粘貼"), new JMenuItem("文字顏色"), new JMenuItem("背景顏色") },
5、
{
new JMenuItem("大寫轉(zhuǎn)小寫"),
new JMenuItem("小寫轉(zhuǎn)大寫"),
},
{
new JMenuItem("關(guān)于")
}
};
void initMenu(){
for(int i=0;i 6、 for(int j=0;j 7、(){ //事件
public void actionPerformed(ActionEvent e){
String name = e.getActionCommand();
JMenuItem MI=(JMenuItem)e.getSource();
if("新建".equals(name)){
content.setText("");
file=null;
}else if("打開".equals(name))
{
if(file !=null 8、)openfile.setSelectedFile(file);
int returnVal=openfile.showOpenDialog(mynotepad.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=openfile.getSelectedFile();
unfold();
}
9、 }else if("保存".equals(name))
{
if(file!=null) openfile.setSelectedFile(file);
int returnVal=openfile.showSaveDialog(mynotepad.this);
if(returnVal==JFileChooser.APPROVE_OPTION)
{
10、 file=openfile.getSelectedFile();
saving();
}
}else if("退出".equals(name))
{
mynotepad f=new mynotepad();
int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionP 11、ane.YES_NO_OPTION);
if(s==JOptionPane.YES_OPTION)
System.exit(0);
}
else if("剪切".equals(name))
{
content.cut();
}
else if("復制".equals(name))
12、 {
content.copy();
}
else if("粘貼".equals(name))
{
content.paste();
}else if("文字顏色".equals(name)){
color=JColorChooser.showDialog(mynotepad.this,"",color);
13、 content.setForeground(color);
}else if("背景顏色".equals(name)){
color=JColorChooser.showDialog(mynotepad.this,"",color);
content.setBackground(color);
}
else if("大寫轉(zhuǎn)小寫".equals(name)){
String st 14、r=content.getText();
String str1=str.toLowerCase();
content.setText(str1);
}
else if("小寫轉(zhuǎn)大寫".equals(name)){
String str=content.getText();
String str1=str.toUpperCase();
content.setText(str1); 15、
}
else if("關(guān)于".equals(name)){
JOptionPane.showMessageDialog(null,"程序制作:鄭澤波&魯裕浩&歐陽國勝&曾成成","關(guān)于",JOptionPane.INFORMATION_MESSAGE);
}
四、系統(tǒng)調(diào)試運行
1:界面調(diào)試
確定主窗體,設(shè)置主窗體的屬性,對窗體進行布局,加入所需控件并對控件進行初始化。在完成加入菜單控件后,不能缺少this.setJMenuBar(menu); 語句,將menu設(shè)為主窗體的菜單條,否則會看 16、不到菜單欄。
如圖:
2:功能調(diào)試
打開功能:
保存功能:
五、課程設(shè)計心得
經(jīng)過一個星期的我的記事本的課程設(shè)計,我在向華萍老師的指導下,順利完成該課程設(shè)計。通過該課程設(shè)計,收獲頗多。
首先,讓我加深了對Java語言的理論知識的理解;
其次,讓我更加熟練的掌握了Java語言的設(shè)計能力并且有了實踐經(jīng)驗;
再次,在設(shè)計過程中,學到了老師沒有在課堂上沒有教授的知識;
最后,加強了我對Java語言的學習興趣和好感。
六、參考文獻:
[1] 耿詳義,張躍平. Java 2 實用教程. 北京:清華大學出版社,2004.2
17、[2] 張利國.Java實用教程案例.北京:清華大學出版社,2003.10
[3] 周曉聰,等.面向?qū)ο蟪绦蛟O(shè)計與Java語言.北京:機械工業(yè)出版社,2004.3
[4] 李尊朝.Java語言程序設(shè)計.北京:中國鐵道出版社,2004.2
[5] (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 證學習指南) (第四版 英文版). 北京:電子工業(yè)出版社,2004.1
七、附 錄
程序源代碼:
import java.awt.event.*;
import ja 18、va.awt.*;
import java.io.*;
import java.lang.String;
class jsb implements ActionListener
{
Dialog bb;
String strt;
int i;
FileDialog fd;
File file;
public Frame f;
public TextArea p1;
public MenuBar menubar;
public Menu menu1,menu2,menu3;
public MenuItem item1,item2,item3 19、,item4,item5,item6,item7,item8,item9,item10;
jsb(String s)
{ i=0;
f=new Frame(s);
p1=new TextArea("");
f.setSize(500,500);
f.setBackground(Color.white);
f.setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("編輯");
menu3=new Menu("幫助");
item1=new Men 20、uItem("新建");
item2=new MenuItem("打開");
item3=new MenuItem("保存");
item4=new MenuItem("另存為");
item5=new MenuItem("退出");
item6=new MenuItem("全選");
item7=new MenuItem("復制");
item8=new MenuItem("剪切");
item9=new MenuItem("粘貼");
item10=new MenuItem("關(guān)于");
f.addWindowListener(new WindowA 21、dapter()
{
public void windowClosing(WindowEvent e)
{f.setVisible(false);System.exit(0);}
});
menu1.add(item1);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.add(item5);
menu2.add(item6);
menu2.add(item7);
menu2.add(item8);
menu2.add(item9);
menu3.add(item10 22、);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
f.setMenuBar(menubar);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7. 23、addActionListener(this);
item8.addActionListener(this);
item9.addActionListener(this);
item10.addActionListener(this);
f.setLayout(new GridLayout(1,1));
f.add(p1);f.pack();
}
public void actionPerformed(ActionEvent e)
{
String ss;
ss=p1.getText().trim();
if (e.getSource()==item 24、5)
{
if (i==0 &&(ss.length()!=0))
{
bc();
}
else
{
System.exit(0);
}
}
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.setVi 25、sible(true);
try{
file=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.se 26、tText(view);
br.close();
fr.close();
}
catch(IOException expIn)
{}
}
if (e.getSource()==item3)
{
if (i==0)
{
bc();
}
else
{
try{
file=new File(fd.getDirectory(),fd.getFile());
f.setTitle(fd.getFile()+"--記事本");
FileWriter fw=new FileWriter(file);
BufferedWriter b 27、w=new BufferedWriter(fw);
String s =p1.getText();
s = s.replaceAll("\n","\r\n");
bw.write(s);
bw.flush();
bw.close();
fw.close();
i=1;
}
catch(IOException expOut){i=0;}
}
}
if (e.getSource()==item4)
{
bc();
}
if (e.getSource()==item10)
{
bb=new Dialog(f,"關(guān)于");
La 28、bel l1=new Label("本記事本的完成感謝老師和同學的幫助!!");
bb.add(l1);
bb.setSize(250,150);
bb.setBackground(Color.white);
bb.show();
bb.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{bb.setVisible(false);bb.dispose();}
});
}
if (e.getSource()==item6)
{
p1 29、.setSelectionStart(0);
p1.setSelectionEnd(p1.getText().length());
}
if (e.getSource()==item7)
{
try{
String str=p1.getSelectedText();
if(str.length()!=0)
{
strt=str;
}
}catch(Exception ex)
{
}
}
if (e.getSource()==item8)
{
try{
String str=p1.getSelectedText();
30、
if(str.length()!=0)
{
p1.replaceRange("",p1.getSelectionStart(),p1.getSelectionEnd());
}
}
catch(Exception ex)
{
}
}
if (e.getSource()==item9)
{
if(strt.length()>0)
{
p1.insert(strt,p1.getCaretPosition());
}
}
}
public void bc()
{
fd=new FileDialog(f,"保存文件",1);
31、fd.setVisible(true);
try{
file=new File(fd.getDirectory(),fd.getFile());
f.setTitle(fd.getFile()+"--記事本");
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
String s =p1.getText();
s = s.replaceAll("\n","\r\n");
bw.write(s);
bw.flush();
bw.close();
fw.close();
i=1;
}
catch(IOException expOut){}
}
}
public class keshe
{ public static void main(String args[])
{jsb dd=new jsb("我的記事本");}
}
第 19 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案