找一个用Java写的文本编辑器代码

导入Java . awt . *;

导入Java . awt . event . *;

导入javax . swing . *;

导入Java . io . *;

公共类MyTextEditor扩展JFrame实现ActionListener、ItemListener、MouseListener

{

私有文件File;

私有JTextArea textarea

private JRadioButtonMenuItem rbmi _ red、rbmi_blue、rbmi _ green

private JMenuItem menuitem_copy、menuitem_cut、menuitem_paste、menuitem _ seek

private JMenuItem menuitem_song,menuitem_fang,menuitem _ kai//字体变量

private JMenuItem menuitem _ normal,menuitem_bold,menuitem _ italic//字体变量

private JMenuItem menuitem_20,menuitem_30,menuitem _ 40//字体大小变量

private JMenuItem menuitem_exit,menuitem _ infor

私人JPopupMenu popupmenu

private JMenuItem menuitem_red、menuitem_green、menuitem_blue。

私有JDialog对话框,dialog 1;

私有JButton button _ seek

私有JTextField textfield _ seek

private JLabel label_seek,label _ infor

字符串查找;

公共MyTextEditor()

{

超级(“文本编辑器”);

this.setSize(400,300);

this.setLocation(360,300);

this . setdefaultcloseoperation(HIDE _ ON _ CLOSE);

container ss = this . getcontentpane();

this . textarea = new JTextArea();

JScrollPane DD = new JScrollPane(textarea);

ss . add(DD);

textarea . addmouse listener(this);

this . addmenu();

this . set visible(true);

这个。dialog();

这个。dialog 1();

this.file = null

}

公共MyTextEditor(字符串文件名)

{

this();

如果(文件名!=空)

{

this.file =新文件(文件名);

this.setTitle(文件名);

this . textarea . settext(this . read from file());

}

}

公共MyTextEditor(文件File)

{

this();

如果(文件!=空)

{

this.file = file

this . settitle(this . file . getname());

this . textarea . settext(this . read from file());

}

}

Public void Dialog() //建立对话框的方法

{

Dialog=new JDialog(this,“search”,true);

dialog . set layout(new flow layout());

dialog.setSize(200,90);

Label_seek=new JLabel("查找内容");

dialog . add(label _ seek);

textfield _ seek = new JTextField(10);

dialog . add(textfield _ seek);

button _ seek = new JButton(" search ");

dialog . add(button _ seek);

button _ seek . addactionlistener(this);

}

公共void对话框1()

{

Dialog1=new JDialog(这个,“专利”,真);

dialog 1 . set layout(new FlowLayout());

dialog1.setSize(200,100);

Label_infor=new JLabel("刘同虎造");

dialog 1 . add(label _ infor);

}

公共void addMenu()

{

JMenuBar menubar = new JMenuBar();

this . setjmenubar(menubar);

JMenu menu _ file = new JMenu(" file ");//文件菜单

menubar . add(menu _ file);

j menuitem menuitem _ open = new j menuitem(" open ");

menu _ file . add(menuitem _ open);

menuitem _ open . addactionlistener(this);

j menuitem menuitem _ save = new j menuitem(" save ");

menu _ file . add(menuitem _ save);

menuitem _ save . addactionlistener(this);

j menuitem menuitem _ save as = new j menuitem("另存为");

menu _ file . add(menuitem _ save as);

menuitem _ save as . addactionlistener(this);

menuitem _ exit = new JMenuItem(" exit ");

menu _ file . add(menuitem _ exit);

menuitem _ exit . addactionlistener(this);

menuitem _ infor = new JMenuItem(" information ");

menu _ file . add(menuitem _ infor);

menuitem _ infor . addactionlistener(this);

JMenu menu _ editor = new JMenu(" edit ");//编辑菜单

menubar . add(menu _ editor);

menuitem _ seek = new JMenuItem(" search ");

menu _ editor . add(menuitem _ seek);

menuitem _ seek . addactionlistener(this);

menuitem _ copy = new JMenuItem(" copy ");

menuitem _ copy . addactionlistener(this);

menu _ editor . add(menuitem _ copy);

menuitem _ cut = new JMenuItem(" cut ");

menu _ editor . add(menuitem _ cut);

menuitem _ cut . addactionlistener(this);

menuitem _ paste = new JMenuItem(" paste ");

menu _ editor . add(menuitem _ paste);

menuitem _ paste . addactionlistener(this);

JMenu item menu _ color = new JMenu(" color ");//颜色菜单

menu_editor.add(菜单_颜色);

button group button group = new button group();

rbmi _ red = new jradiobottonmenuitem(" red ",true);

button group . add(rbmi _ red);

menu _ color . add(rbmi _ red);

rbmi _ red . additem listener(this);

rbmi _ blue = new jradiobottonmenuitem(" blue ",true);

button group . add(rbmi _ blue);

menu _ color . add(rbmi _ blue);

rbmi _ blue . additem listener(this);

rbmi _ green = new jradiobottonmenuitem(" green ",true);

button group . add(rbmi _ green);

menu _ color . add(rbmi _格林);

rbmi _ green . additem listener(this);

JMenu menu _ font = new JMenu(" set font ");//设置字体菜单

menubar . add(menu _ font);

menuitem _ Song = new JMenuItem(" Song Ti ");

menu _ font . add(menuitem _ song);

menuitem _ song . addactionlistener(this);

Menuitem_fang=new JMenuItem("仿宋");

menu _ font . add(menuitem _ Fang);

menuitem _ Fang . addactionlistener(this);

Menuitem_kai=new JMenuItem("斜体");

menu _ font . add(menuitem _ kai);

menuitem _ kai . addactionlistener(this);

JMenu menu _ style = new JMenu(" set font ");//设置字体菜单

menubar . add(menu _ style);

menuitem _ bold = new JMenuItem(" bold ");

menu _ style . add(menuitem _ bold);

menuitem _ bold . addactionlistener(this);

menuitem _ italic = new JMenuItem(" italic ");

menu _ style . add(menuitem _ italic);

menuitem _ italic . addactionlistener(this);

JMenu menu_size=new JMenu("设置字体大小");//设置字体大小菜单

menubar . add(menu _ size);

menuitem _ 20 = new JMenuItem(" 20 ");

menu _ size . add(menuitem _ 20);

menuitem _ 20 . addactionlistener(this);

menuitem _ 30 = new JMenuItem(" 30 ");

menu _ size . add(menuitem _ 30);

menuitem _ 30 . addactionlistener(this);

menuitem _ 40 = new JMenuItem(" 40 ");

menu _ size . add(menuitem _ 40);

menuitem _ 40 . addactionlistener(this);

popup menu = new JPopupMenu();//快捷菜单

j menuitem menuitem _ red = new j menuitem(" red ");

popup menu . add(menuitem _ red);

menuitem _ red . addactionlistener(this);

j menuitem menuitem _ green = new j menuitem(" green ");

popup menu . add(menuitem _ green);

menuitem _ green . addactionlistener(this);

menuitem _ blue = new JMenuItem(" blue ");

popup menu . add(menuitem _ blue);

menuitem _ blue . addactionlistener(this);

textarea . add(popup menu);//向文本区域添加快捷菜单

}

Public void写入文件(字符串行)//写入文件。

{

尝试

{

FileWriter fout = new FileWriter(this . file);

fout . write(lines+" \ r \ n ");

fout . close();

}

捕捉(IOException ioex)

{

返回;

}

}

公共字符串readFromFile() //读取文件

{

尝试

{

FileReader fin = new FileReader(this . file);

buffered reader bin = new buffered reader(fin);

String aline= " ",lines =

{

aline = bin . readline();

如果(aline!=空)

lines+= aline+" \ r \ n ";

} while (aline!= null);

bin . close();

fin . close();

返回线路;

}

捕捉(IOException ioex)

{

返回null

}

}