Java課程設(shè)計(jì) 記事本 課程設(shè)計(jì)
《Java課程設(shè)計(jì) 記事本 課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java課程設(shè)計(jì) 記事本 課程設(shè)計(jì)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 課程設(shè)計(jì)說(shuō)明 課程名稱: Java課程設(shè)計(jì) 設(shè)計(jì)題目: 記事本 專 業(yè): 班級(jí): 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 科技學(xué)院教務(wù)部 制 年 月 日 一、系統(tǒng)設(shè)計(jì)目的: 1)設(shè)計(jì)一個(gè)簡(jiǎn)單的Windows記事本,可以實(shí)現(xiàn)以下功能: 1:文件的新建,打開,保存;
2、 2:對(duì)文件的編輯,如全選,復(fù)制,剪切,粘貼; 3、工具,進(jìn)行大小寫的轉(zhuǎn)換 4:執(zhí)行完操作后,能夠順利關(guān)閉記事本; 2)通過(guò)這次設(shè)計(jì),可以幫助學(xué)生: 1:提高對(duì)Java語(yǔ)言設(shè)計(jì)的掌握能力; 2:理論聯(lián)系實(shí)際,進(jìn)一步提高學(xué)生的軟件開發(fā)技術(shù); 3:培養(yǎng)學(xué)生分析、解決問(wèn)題的能力。 二、系統(tǒng)實(shí)現(xiàn)思路: 設(shè)計(jì)兩個(gè)類,一個(gè)mynotepad類,具有程序的要求和功能再創(chuàng)建一個(gè)Notepad主類,在主類中創(chuàng)建一個(gè)mynotepad類的對(duì)象,就可以直接在編譯器中運(yùn)行程序。 1:界面設(shè)計(jì) 在主界面中設(shè)計(jì)一個(gè)iFrame容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本域控件。 2:功能
3、設(shè)計(jì) 在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對(duì)文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),進(jìn)行不同的操作。 3:代碼設(shè)計(jì) 編寫每個(gè)控件的相關(guān)代碼,并進(jìn)行調(diào)試。 三、系統(tǒng)詳細(xì)設(shè)計(jì) 1:界面設(shè)計(jì) 創(chuàng)建一個(gè)下拉菜單和文本域,在文本域中顯示編輯的文件信息。 主要代碼: 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("復(fù)制"), 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("復(fù)制".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,"程序制作:鄭澤波&魯裕浩&歐陽(yáng)國(guó)勝&曾成成","關(guān)于",JOptionPane.INFORMATION_MESSAGE);
}
四、系統(tǒng)調(diào)試運(yùn)行
1:界面調(diào)試
確定主窗體,設(shè)置主窗體的屬性,對(duì)窗體進(jìn)行布局,加入所需控件并對(duì)控件進(jìn)行初始化。在完成加入菜單控件后,不能缺少this.setJMenuBar(menu); 語(yǔ)句,將menu設(shè)為主窗體的菜單條,否則會(huì)看 16、不到菜單欄。
如圖:
2:功能調(diào)試
打開功能:
保存功能:
五、課程設(shè)計(jì)心得
經(jīng)過(guò)一個(gè)星期的我的記事本的課程設(shè)計(jì),我在向華萍老師的指導(dǎo)下,順利完成該課程設(shè)計(jì)。通過(guò)該課程設(shè)計(jì),收獲頗多。
首先,讓我加深了對(duì)Java語(yǔ)言的理論知識(shí)的理解;
其次,讓我更加熟練的掌握了Java語(yǔ)言的設(shè)計(jì)能力并且有了實(shí)踐經(jīng)驗(yàn);
再次,在設(shè)計(jì)過(guò)程中,學(xué)到了老師沒(méi)有在課堂上沒(méi)有教授的知識(shí);
最后,加強(qiáng)了我對(duì)Java語(yǔ)言的學(xué)習(xí)興趣和好感。
六、參考文獻(xiàn):
[1] 耿詳義,張躍平. Java 2 實(shí)用教程. 北京:清華大學(xué)出版社,2004.2
17、[2] 張利國(guó).Java實(shí)用教程案例.北京:清華大學(xué)出版社,2003.10
[3] 周曉聰,等.面向?qū)ο蟪绦蛟O(shè)計(jì)與Java語(yǔ)言.北京:機(jī)械工業(yè)出版社,2004.3
[4] 李尊朝.Java語(yǔ)言程序設(shè)計(jì).北京:中國(guó)鐵道出版社,2004.2
[5] (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 證學(xué)習(xí)指南) (第四版 英文版). 北京:電子工業(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("復(fù)制");
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("文件對(duì)話框");
}
}
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()+"文件對(duì)話框");
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("本記事本的完成感謝老師和同學(xué)的幫助??!");
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 頁(yè)
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 8乘法口訣 (3)課件
- 創(chuàng)意思考方法
- 新版寧波波特曼大酒店
- 公司財(cái)務(wù)與財(cái)務(wù)預(yù)算
- d商品價(jià)格與消費(fèi)心理
- 191矩形(矩形的判定第1課時(shí))
- 乳腺癌術(shù)后-課件
- 河北NBIoT建設(shè)規(guī)劃
- 藥物外滲的處置
- 《中國(guó)媽媽》鑒賞-課件
- 整式的加減 (2)(教育精品)
- 路面工程監(jiān)督交底
- 廣東語(yǔ)文模擬考試評(píng)講課件
- 《科學(xué)探究:物質(zhì)的密度》課件-(公開課獲獎(jiǎng))2022年滬科版物理-3
- 區(qū)域活動(dòng)與習(xí)慣養(yǎng)成(彭艷潔)