Import java.awt.event. *;
Import javax.swing. *;
Import java.io. *;
The public class MyTextEditor extends JFrame to implement ActionListener, ItemListener and MouseListener.
{
Private file file;
Private 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// font variables.
Private j menuitem menuitem _ normal, menuitem_bold, menuitem _ italic// font variable.
Private JMenuItem menuitem_20, menuitem_30, menuitem _ 40// font size variable
private JMenuItem menuitem_exit,menuitem _ infor
Private JPopupMenu popupmenu
private JMenuItem menuitem_red、menuitem_green、menuitem_blue。
Private JDialog dialog box, dialog1;
Private JButton button _ seek
Private JTextField textfield _ seek
private JLabel label_seek,label _ infor
String lookup;
Public MyTextEditor ()
{
Super (Text Editor);
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);
This. dialog();
This. dialog 1();
this.file = null
}
Public MyTextEditor (string file name)
{
this();
If (file name! = empty)
{
This.file = new file (file name);
This.setTitle (file name);
this . textarea . settext(this . read from file());
}
}
Public MyTextEditor (File)
{
this();
If (file! = empty)
{
this.file = file
this . settitle(this . file . getname());
this . textarea . settext(this . read from file());
}
}
Public void Dialog() // Method of establishing dialog box
{
Dialog=new JDialog(this,“search”,true);
dialog . set layout(new flow layout());
dialog.setSize(200,90);
Label_seek=new JLabel ("find content");
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);
}
Public void Dialog Box 1 ()
{
Dialog 1=new JDialog (this, "patent", true);
dialog 1 . set layout(new FlowLayout());
dialog 1.setSize(200, 100);
Label_infor=new JLabel ("made by Liu Tonghu");
dialog 1 . add(label _ infor);
}
Public void addMenu ()
{
JMenuBar menubar = new JMenuBar();
this . setjmenubar(menubar);
JMenu menu _ file = new JMenu(" file "); //File menu
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 _ saveas = new j menuitem ("save as");
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 "); //Edit menu
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 "); //Color menu
Menu_editor.add (menu _ color);
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 _ green);
rbmi _ green . additem listener(this);
JMenu menu _ font = new JMenu(" set font "); //Set font menu
menubar . add(menu _ font);
menuitem _ Song = new JMenuItem(" Song Ti ");
menu _ font . add(menuitem _ song);
menuitem _ song . addactionlistener(this);
Menuitem_fang=new JMenuItem ("Imitation of Song Dynasty");
menu _ font . add(menuitem _ Fang);
menuitem _ Fang . addactionlistener(this);
Menuitem_kai=new JMenuItem ("italics");
menu _ font . add(menuitem _ kai);
menuitem _ kai . addactionlistener(this);
JMenu menu _ style = new JMenu(" set font "); //Set font menu
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 ("set font size"); //Set font size menu
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(); //shortcut menu
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); //Add a shortcut menu to the text area
}
Public void writes to a file (string line)//writes to a file.
{
attempt
{
FileWriter fout = new FileWriter(this . file);
fout . write(lines+" \ r \ n ");
fout . close();
}
Catch (IOException ioex)
{
Return;
}
}
Common string readFromFile() // Read file
{
attempt
{
FileReader fin = new FileReader(this . file);
buffered reader bin = new buffered reader(fin);
String aline= " ",lines =
do
{
aline = bin . readline();
If (aline! = empty)
lines+= aline+" \ r \ n ";
} while (aline! = null);
bin . close();
fin . close();
Return line;
}
Catch (IOException ioex)
{
Returns null
}
}