Java写的简单文本编辑器代码word文档良心出品文档格式.docx
《Java写的简单文本编辑器代码word文档良心出品文档格式.docx》由会员分享,可在线阅读,更多相关《Java写的简单文本编辑器代码word文档良心出品文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
//编辑菜单项:
剪切,复制,粘贴,删除
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("
文件"
mEdit=newMenu("
编辑"
mFormat=newMenu("
格式t"
mHelp=newMenu("
帮助"
//"
miNew=newMenuItem("
新建"
miOpen=newMenuItem("
打开"
miSave=newMenuItem("
保存"
miSaveAs=newMenuItem("
另存为"
miExit=newMenuItem("
退出"
miCut=newMenuItem("
剪切"
miCopy=newMenuItem("
复制"
miPaste=newMenuItem("
粘贴"
miDelete=newMenuItem("
删除"
格式"
miFont=newMenuItem("
Font"
miLowtoCapital=newMenuItem("
LowtoCapital"
miCapitaltoLow=newMenuItem("
CapitaltoLow"
miEncrypt=newMenuItem("
Encrypt"
miDisencrypt=newMenuItem("
Disencrypt"
miAboutNotepad=newMenuItem("
关于Notepad"
//添加文件菜单项
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){
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"
catch(IOExceptionie){
IOerror"
Strings=newString(ch);
ta.setText(s);
//设置文本区为所打开文件的内容
//保存
miSave.addActionListener(newActionListener(){
if(fileName.equals("
)){//如果文件没有被保存过,即文件名为空
savefile"
FileDialog.SAVE);
//保存文件对话框
Strings=ta.getText();
//得到所输入的文本内容
Filef=newFile(d.getDirectory()+d.getFile());
//新建文件
BufferedWriterbw=newBufferedWriter(newFileWriter(f));
//输入到文件中
bw.write(s,0,s.length());
catch(FileNotFoundExceptionfe_){
filenot