Java语言写的简单文本编辑器.docx

上传人:b****1 文档编号:3328367 上传时间:2023-05-05 格式:DOCX 页数:22 大小:31.71KB
下载 相关 举报
Java语言写的简单文本编辑器.docx_第1页
第1页 / 共22页
Java语言写的简单文本编辑器.docx_第2页
第2页 / 共22页
Java语言写的简单文本编辑器.docx_第3页
第3页 / 共22页
Java语言写的简单文本编辑器.docx_第4页
第4页 / 共22页
Java语言写的简单文本编辑器.docx_第5页
第5页 / 共22页
Java语言写的简单文本编辑器.docx_第6页
第6页 / 共22页
Java语言写的简单文本编辑器.docx_第7页
第7页 / 共22页
Java语言写的简单文本编辑器.docx_第8页
第8页 / 共22页
Java语言写的简单文本编辑器.docx_第9页
第9页 / 共22页
Java语言写的简单文本编辑器.docx_第10页
第10页 / 共22页
Java语言写的简单文本编辑器.docx_第11页
第11页 / 共22页
Java语言写的简单文本编辑器.docx_第12页
第12页 / 共22页
Java语言写的简单文本编辑器.docx_第13页
第13页 / 共22页
Java语言写的简单文本编辑器.docx_第14页
第14页 / 共22页
Java语言写的简单文本编辑器.docx_第15页
第15页 / 共22页
Java语言写的简单文本编辑器.docx_第16页
第16页 / 共22页
Java语言写的简单文本编辑器.docx_第17页
第17页 / 共22页
Java语言写的简单文本编辑器.docx_第18页
第18页 / 共22页
Java语言写的简单文本编辑器.docx_第19页
第19页 / 共22页
Java语言写的简单文本编辑器.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java语言写的简单文本编辑器.docx

《Java语言写的简单文本编辑器.docx》由会员分享,可在线阅读,更多相关《Java语言写的简单文本编辑器.docx(22页珍藏版)》请在冰点文库上搜索。

Java语言写的简单文本编辑器.docx

Java语言写的简单文本编辑器

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

 

publicclassNotepad/*implementsActionListener,MouseListener,MouseMotionListener,WindowListener,ItemListener,KeyListener,TextListener*/

{

//成员变量

privateFramemainFrame;//主框架

privateMenuBarmb;//菜单条

privateMenumFile,mEdit,mFormat,mHelp;//菜单:

文件,编辑,格式,帮助

privateMenuItemmiNew,miOpen,miSave,miSaveAs,miExit;//文件菜单项:

新建,打开,保存,另存为,退出

privateMenuItemmiCut,miCopy,miPaste,miDelete;//编辑菜单项:

剪切,复制,粘贴,删除

privateMenuItemmiFont,miLowtoCapital,miCapitaltoLow,miEncrypt,miDisencrypt;//格式菜单项:

字体

privateMenuItemmiAboutNotepad;//帮助菜单项:

关于记事本

privateTextAreata;//文本区

privateStringtempString;//临时字符串,用于存储需要复制粘贴的字符串

privatebooleantextValueChanged=false;

privateintid_font;//字体

 

StringfileName="";//上次保存后的文件名和地址

 

//构造函数

publicNotepad(){

//框架

mainFrame=newFrame("Notepadv0.99byLaunching");

mb=newMenuBar();

ta=newTextArea(30,60);

ta.setFont(newFont("TimesNewRome",Font.PLAIN,15));

ta.setBackground(newColor(0,250,200));

//菜单条

mFile=newMenu("File");

mEdit=newMenu("Edit");

mFormat=newMenu("Format");

mHelp=newMenu("Help");

//"文件"

miNew=newMenuItem("New");

miOpen=newMenuItem("Open");

miSave=newMenuItem("Save");

miSaveAs=newMenuItem("Saveas");

miExit=newMenuItem("Exit");

//"编辑"

miCut=newMenuItem("Cut");

miCopy=newMenuItem("Copy");

miPaste=newMenuItem("Paste");

miDelete=newMenuItem("Delete");

//"格式"

miFont=newMenuItem("Font");

miLowtoCapital=newMenuItem("LowtoCapital");

miCapitaltoLow=newMenuItem("CapitaltoLow");

miEncrypt=newMenuItem("Encrypt");

miDisencrypt=newMenuItem("Disencrypt");

//"帮助"

miAboutNotepad=newMenuItem("AboutNotepad");

//添加文件菜单项

mFile.add(miNew);

mFile.add(miOpen);

mFile.add(miSave);

mFile.add(miSaveAs);

mFile.add(miExit);

//添加编辑菜单项

mEdit.add(miCut);

mEdit.add(miCopy);

mEdit.add(miPaste);

mEdit.add(miDelete);

//添加格式菜单项

mFormat.add(miFont);

mFormat.add(miLowtoCapital);

mFormat.add(miCapitaltoLow);

mFormat.add(miEncrypt);

mFormat.add(miDisencrypt);

//添加帮助菜单项

mHelp.add(miAboutNotepad);

//菜单条添加菜单

mb.add(mFile);

mb.add(mEdit);

mb.add(mFormat);

mb.add(mHelp);

//框架添加菜单条

mainFrame.setMenuBar(mb);

//初始字符串赋为空

tempString="";

//添加文本区

mainFrame.add(ta,BorderLayout.CENTER);

mainFrame.setSize(800,500);

mainFrame.setLocation(100,100);//起始位置

mainFrame.setResizable(true);//不可更改大小

mainFrame.setVisible(true);

//mainFrame.pack();

/////////////////////////增加监视器//////////////////////

//主框架

mainFrame.addWindowListener(newWindowAdapter(){//关闭窗口

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

//文本区

ta.addKeyListener(newKeyAdapter(){

publicvoidKeyTyped(KeyEvente){

textValueChanged=true;//键盘按键按下即导致文本修改

}

});

////////////////"文件"菜单:

//////////////////////

//新建

miNew.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

ta.replaceRange("",0,ta.getText().length());//清空文本区的内容

fileName="";//文件名清空

}

});

//打开

miOpen.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

FileDialogd=newFileDialog(mainFrame,"openfile",FileDialog.LOAD);//打开文件对话框

d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口

publicvoidwindowClosing(WindowEventee){

System.exit(0);

}

});

d.setVisible(true);

Filef=newFile(d.getDirectory()+d.getFile());//建立新文件

fileName=d.getDirectory()+d.getFile();//得到文件名

charch[]=newchar[(int)f.length()];///用此文件的长度建立一个字符数组

try//异常处理

{

//读出数据,并存入字符数组ch中

BufferedReaderbw=newBufferedReader(newFileReader(f));

bw.read(ch);

bw.close();

}

catch(FileNotFoundExceptionfe){

System.out.println("filenotfound");

System.exit(0);

}

catch(IOExceptionie){

System.out.println("IOerror");

System.exit(0);

}

Strings=newString(ch);

ta.setText(s);//设置文本区为所打开文件的内容

}

});

//保存

miSave.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

if(fileName.equals("")){//如果文件没有被保存过,即文件名为空

FileDialogd=newFileDialog(mainFrame,"savefile",FileDialog.SAVE);//保存文件对话框

d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口

publicvoidwindowClosing(WindowEventee){

System.exit(0);

}

});

d.setVisible(true);

Strings=ta.getText();//得到所输入的文本内容

try//异常处理

{

Filef=newFile(d.getDirectory()+d.getFile());//新建文件

fileName=d.getDirectory()+d.getFile();//得到文件名

BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中

bw.write(s,0,s.length());

bw.close();

}

catch(FileNotFoundExceptionfe_){

System.out.println("filenotfound");

System.exit(0);

}

catch(IOExceptionie_)

{

System.out.println("IOerror");

System.exit(0);

}

}

else//如果文件已经保存过

{

Strings=ta.getText();//得到所输入的文本内容

try//异常处理

{

Filef=newFile(fileName);//新建文件

BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中

bw.write(s,0,s.length());

bw.close();

}

catch(FileNotFoundExceptionfe_){

System.out.println("filenotfound");

System.exit(0);

}

catch(IOExceptionie_)

{

System.out.println("IOerror");

System.exit(0);

}

}

}

});

//另存为

miSaveAs.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

FileDialogd=newFileDialog(mainFrame,"savefile",FileDialog.SAVE);//保存文件对话框

d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口

publicvoidwindowClosing(WindowEventee){

System.exit(0);

}

});

d.setVisible(true);

Strings=ta.getText();//得到所输入的文本内容

try//异常处理

{

Filef=newFile(d.getDirectory()+d.getFile());//新建文件

BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中

bw.write(s,0,s.length());

bw.close();

}

catch(FileNotFoundExceptionfe_){

System.out.println("filenotfound");

System.exit(0);

}

catch(IOExceptionie_)

{

System.out.println("IOerror");

System.exit(0);

}

}

});

//退出

miExit.addActionListener(newActionListener(){///退出程序

publicvoidactionPerformed(ActionEvente){

System.exit(0);

}

});

////////////////"编辑"菜单:

////////////////////

//剪切

miCut.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

tempString=ta.getSelectedText();///得到要复制的内容,暂存在tempString中

StringBuffertmp=newStringBuffer(ta.getText());//临时存储文本

intstart=ta.getSelectionStart();//得到要删除的字符串的起始位置

intlen=ta.getSelectedText().length();//得到要删除的字符串的长度

tmp.delete(start,start+len);///删除所选中的字符串

ta.setText(tmp.toString());//用新文本设置原文本

}

});

//复制

miCopy.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

tempString=ta.getSelectedText();///得到要复制的内容,暂存在tempString中

}

});

//粘贴

miPaste.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

StringBuffertmp=newStringBuffer(ta.getText());//临时存储文本

intstart=ta.getSelectionStart();//得到要粘贴的位置

tmp.insert(start,tempString);//查入要粘贴的内容

ta.setText(tmp.toString());//用新文本设置原文本

}

});

//删除

miDelete.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

StringBuffertmp=newStringBuffer(ta.getText());//临时存储文本

intstart=ta.getSelectionStart();//得到要删除的字符串的起始位置

intlen=ta.getSelectedText().length();//得到要删除的字符串的长度

tmp.delete(start,start+len);///删除所选中的字符串

ta.setText(tmp.toString());//用新文本设置原文本

}

});

////////////////"格式"菜单:

////////////////////

//字体

miFont.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

finalDialogd=newDialog(mainFrame,"Font");//新建对话框

d.setLocation(250,250);//起始位置

d.setLayout(newBorderLayout());//表格布局

//////////////////////////上部分面板

Labell_font=newLabel("font");//font标签

Panelp_1=newPanel();

p_1.add(l_font);

p_1.setVisible(true);

//////////////////////////中部分面板

Listfont_list=newList(6,false);//字体列表

//添加字体项目

font_list.add("Plain");///普通字体

font_list.add("Bold");///粗体

font_list.add("Italic");//斜体

font_list.addItemListener(newMyItemListener_font());//字体增加监视器

Panelp_2=newPanel();

p_2.add(font_list);

p_2.setVisible(true);

//////////////////////////下部分面板

Buttonok=newButton("OK");

ok.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

d.dispose();

}

});

ok.setSize(newDimension(20,5));

Panelp_3=newPanel();//下部分面板

p_3.add(ok);

p_3.setVisible(true);

//添加三个面板

d.add(p_1,BorderLayout.NORTH);

d.add(p_2,BorderLayout.CENTER);

d.add(p_3,BorderLayout.SOUTH);

d.pack();

d.addWindowListener(newWindowAdapter(){//关闭对话框窗口

publicvoidwindowClosing(WindowEventee){

d.dispose();

}

});

d.setVisible(true);

}

});

//小写字母转大写

miLowtoCapital.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Strings=ta.getText();//得到所输入的文本内容

StringBuffertemp=newStringBuffer("");

for(inti=0;i

if((int)s.charAt(i)>=97&&(int)s.charAt(i)<=122){

temp.append((char)((int)s.charAt(i)-32));

}

else

temp.append(s.charAt(i));

}

s=newString(temp);

ta.setText(s);

}

});

//大写字母转小写

miCapitaltoLow.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Strings=ta.getText();//得到所输入的文本内容

StringBuffertemp=newStringBuffer("");

for(inti=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2