Java写的简单文本编辑器代码(word文档良心出品)

Java写的简单文本编辑器代码(word文档良心出品)
Java写的简单文本编辑器代码(word文档良心出品)

import java.awt.*;

import java.awt.eve nt.*; import java.io.*;

public class Notepad /*impleme nts Action Liste ner , MouseListe ner ,

MouseMoti on Liste ner , Win dowListe ner , ItemListe ner , KeyListe ner, TextListe ner */ {

//成员变量 private Menultem miNew , miOpen , miSave , miSaveAs , miExit ; // 文 件菜单项:新建,打开,保存,另存为,退出

private Menultem miCut , miCopy , miPaste , miDelete ;//编辑菜单项: 剪切,复制,粘贴,删除

private Menultem miFont , miLowtoCapital , miCapitaltoLow , miEncrypt miDisencrypt ; //格式菜单项:字体 private

Menultem

miAboutNotepad ; // 帮助菜单项:关于记事本

private Frame mainFrame ; // 主框架 private Men uBar mb ; // 菜单条

private Me nu mFile , mEdit , mFormat

式,帮助

mHelp ; //菜单:文件,编辑,格 private TextArea

ta ; //文本区

private String

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

private boolea n textValueCha nged = false private

int id_fo nt

//字体

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

//构造函数

public Notepad(){

//框架

main Frame = new Frame ( "Notepad v0.99 by Laun chi ng" );

mb = new Men uBar (); ta = new TextArea (30 ,60); ta .setFont( new Font ( "Times New Rome" , Font. PLAIN , 15)); ta .setBackground( new Color(0,250,200)); //菜单条 mFile = mEdit =

new Menu ( new Menu

(

"文件"); "编辑");

mFormat = new Menu ( " 格式t" ); mHelp = new Menu ( " 帮助" );

//" 文件"

miNew = new MenuItem ( " 新建" ); miOpen = new MenuItem ( " 打开" ); miSave = new MenuItem ( " 保存" );

miSaveAs = new MenuItem ( " 另存为" ); miExit = new MenuItem ( "退出" );

//" 编辑"

miCut = new MenuItem ( " 剪切" ); miCopy = new MenuItem ( " 复制" ); miPaste = new MenuItem ( " 粘贴" ); miDelete = new MenuItem ( " 删除" );

//" 格式"

miFont = new MenuItem ( "Font" );

miLowtoCapital = new MenuItem( "Low to Capital"

miCapitaltoLow = new MenuItem( "Capital to Low"

miEncrypt = new MenuItem( "Encrypt" ); miDisencrypt = new MenuItem( "Disencrypt" );

//" 帮助"

miAboutNotepad = new MenuItem ( " 关于Notepad" );

// 添加文件菜单项

mFile .add( miNew );

mFile .add( miOpen );

mFile .add( miSave );

mFile .add( miSaveAs

mFile .add( miExit );

// 添加编辑菜单项

// 添加帮助菜单项

mHelp .add( miAboutNotepad );); );

mEdit .add( mEdit .add( mEdit .add( mEdit .add( miCut ); miCopy ); miPaste ); miDelete );

// 添加格式菜单项

mFormat .add( mFormat .add( mFormat .add( mFormat .add( mFormat .add( miFont ); miLowtoCapital miCapitaltoLow miEncrypt ); miDisencrypt

);

);

);

//菜单条添加菜单 mb.add( mFile ); mb.add( mEdit ); mb.add( mFormat ); mb.add( mHelp );

//框架添加菜单条

mai nFrame .setMe nuBar( mb ); //初始字符串赋为空 tempString ="";

//添加文本区

main Frame .add( ta , BorderLayout. CENTER);

main Frame .setSize(800,500);

main Frame .setLocati on( 100 ,100); main Frame .setResizable( true mainFrame .setVisible( true ); //ma in Frame.pack();

增加监视器 ////////////////////// //主框架

mai nFrame .addWi ndowListe ner( new Win dowAdapter (){ //关闭窗口

public void win dowClos in g(Wi ndowEve nt e) { System. exit (0); } });

//文本区

ta .addKeyListener( new KeyAdapter(){ public void KeyTyped(KeyEvent e){ _________

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

});

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

//新建

miNew .addActionListener( new ActionListener(){ public void action Performed(Act ion Eve nt e){

//起始位置 );//不可更改大小 /////////////////////////

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

FileDialog d=

new FileDialog( mai nFrame FileDialog. LOAD );

II 打开文件对话框

d.addWi ndowListe ner( new Win dowAdapter(){

public void wi ndowClosi ng(Wi ndowEve nt ee){ System. exit (0);

}

});

d.setVisible(

true );

"open file" ,

//关闭文件对话框窗口

//建立新文件

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

char ch[] = new char [( int )f.length()]; 符数组

III 用此文件的长度建立一个字

try II 异常处理 {

II 读出数据,并存入字符数组ch 中 BufferedReader bw = new BufferedReader( bw.read(ch);

bw.close(); }

catch ( FileNotFoundException fe ){ System. out .println( "file not found" ); System. exit (0); }

catch ( lOException ie){ System. out .println( "IO error" ); System. exit (0); } new FileReader(f));

String s =

new String (ch);

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

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

//打开

miOpen .addActionListener( new ActionListener(){ public void action Performed(Act ion Eve nt e) { File f =

new File( d.getDirectory()+d.getFile());

});

// 保存

miSave .addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent

e) {

if ( fileName .equals( ) ){ // 如果文件没有被保存过, 即文件名为空FileDialog d= new FileDialog( mainFrame , "save file" , FileDialog. SAVE ); // 保存文件对话框

d.addWindowListener( new WindowAdapter(){ // 关闭文件对话框窗口public void

windowClosing(WindowEvent ee){

System. exit (0);

}

});

d.setVisible( true );

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

try // 异常处理

{

File f = new File( d.getDirectory()+d.getFile()); // 新建文件

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

BufferedWriter bw = new BufferedWriter( new FileWriter (f)); // 输入到文件中

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

bw.close();

}

catch (FileNotFoundException fe_){

System. out .println( "file not found" );

System. exit (0);

}

catch ( IOException ie_)

{

System. out .println( " IO error" );

System. exit (0);

}

}

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

{

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

try // 异常处理

{

File f = new File( fileName ); // 新建文件

BufferedWriter bw = new BufferedWriter( new FileWriter (f)); // 输入到文件中

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

bw.close();

}

catch (FileNotFoundException fe_){

System. out .println( "file not found" );

System. exit (0);

}

catch ( IOException ie_)

{

System. out .println( " IO error" );

System. exit (0);

}

}

}

});

// 另存为

miSaveAs .addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent

e) {

FileDialog d= new FileDialog( mainFrame , "save file" , FileDialog. SAVE ); // 保存文件对话框d.addWindowListener( new WindowAdapter(){ // 关闭文件对话框窗口public void

windowClosing(WindowEvent ee){

System. exit (0);

}

});

d.setVisible( true );

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

try // 异常处理

{

File f = new File( d.getDirectory()+d.getFile()); // 新建文件

BufferedWriter bw = new BufferedWriter( new FileWriter (f)); // 输入到文件中

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

bw.close();

编辑" 菜单: //////////////////// // 剪切

miCut .addActionListener( public void

actionPerformed(ActionEvent e){ tempString = ta .getSelectedText();

tempString 中

StringBuffer tmp = new StringBuffer ( 文本 int start = ta .getSelectionStart();

int len = ta .getSelectedText().length(); 度

tmp.delete( start , start+len); /// 删除所选中的字符串 ta .setText(tmp.toString()); // 用新文本设置原文本 } });

// 复制

miCopy .addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){

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

// 粘贴

miPaste .addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){

System. System. }

catch { System. out .println( exit (0); "file not found"

( IOException ie_) out .println( " IO error"

System.

} exit (0);

} });

);

miExit public System. } });

.addActionListener( new ActionListener(){ void actionPerformed(ActionEvent e){ exit (0);

/// 退出程序

////////////////" new ActionListener(){

/// 得到要复制的内容 , 暂存在

ta .getText()); // 临时存储 // 得到要删除的字符串的起始位置

// 得到要删除的字符串的长

catch (FileNotFoundException fe_){

// 退出

相关主题
相关文档
最新文档