Java.awt.event. *;
Javax.swing. *;
Java.io. *;
공용 클래스인 MyTextEditor 는 JFrame 을 확장하여 ActionListener, ItemListener, MouseListener 를 구현합니다
{
개인 문서 파일;
개인 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 j menuitem 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 대화 상자, dialog1;
개인 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);
Containerss = this.getcontentpane ();
This.textarea = new jtextarea ();
Jscrollpane DD = new jscrollpane (textarea);
Ss.add (DD);
Textarea.add mouse listener (this);
This.addmenu ();
This.setvisible (true);
이것. Dialog ();
이것. Dialog1();
This.file = null
}
공용 MyTextEditor (문자열 파일 이름)
{
This ();
만약 (파일 이름! = 비어 있음)
{
This.file = 새 파일 (파일 이름);
This.setTitle (파일 이름);
This.textarea.settext (this.read from file ());
}
}
공용 MyTextEditor (파일 파일)
{
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.setlayout (new flowlayout ());
Dialog.setsize (200,90);
Label_seek=new JLabel ("찾을 내용");
Dialog.add (label _ seek);
Textfield _ seek = new jtextfield (10);
Dialog.add (textfield _ seek);
Button _ seek = newjbutton ("검색");
Dialog.add (button _ seek);
Button _ seek.addactionlistener (this);
}
공용 void 대화 상자 1 ()
{
Dialog 1=new JDialog (이것, "특허", 참);
Dialog1.setlayout (new flowlayout ());
Dialog 1.setSize(200,100);
Label_infor=new JLabel ("유동호조");
Dialog1.add (label _ infor);
}
공용 void addMenu ()
{
Jmenubar menubar = new jmenubar ();
This.setjmenubar (menubar);
Jmenu menu _ file = new jmenu ("file"); //파일 메뉴
Menubar.add (menu _ file);
Jmenuitem menuitem _ open = new jmenuitem ("open");
Menu _ file.add (menuitem _ open);
Menuitem _ open.addactionlistener (this);
Jmenuitem menuitem _ save = new jmenuitem ("save");
Menu _ file.add (menuitem _ save);
Menuitem _ save.addactionlistener (this);
Jmenuitem menuitem _ save as = new jmenuitem ("다른 이름으로 저장");
Menu _ file.add (menuitem _ saveas);
Menuitem _ saveas.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 (메뉴 _ 색상);
Buttongroupbuttongroup = newbuttongroup ();
Rbmi _ red = new jradiobottonmenuitem ("red", true);
Buttongroup.add (rbmi _ red);
Menu _ color.add (rbmi _ red);
Rbmi _ red.additemlistener (this);
Rbmi _ blue = new jradiobottonmenuitem ("blue", true);
Buttongroup.add (rbmi _ blue);
Menu _ color.add (rbmi _ blue);
Rbmi _ blue.additemlistener (this);
Rbmi _ green = new jradiobottonmenuitem ("green", true);
Buttongroup.add (rbmi _ green);
Menu _ color. add(rbmi _ 그린);
Rbmi _ green.additemlistener (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 jpop up menu (); //바로 가기 메뉴
Jmenuitem menuitem _ red = new jmenuitem ("red");
Popupmenu.add (menuitem _ red);
Menuitem _ red.addactionlistener (this);
Jmenuitem menuitem _ green = new jmenuitem ("green");
Popupmenu.add (menuitem _ green);
Menuitem _ green.addactionlistener (this);
Menuitem _ blue = new jmenuitem ("blue");
Popupmenu.add (menuitem _ blue);
Menuitem _ blue.addactionlistener (this);
Textarea.add (popupmenu); //텍스트 영역에 바로 가기 메뉴를 추가합니다
}
Public void 파일 쓰기 (문자열 행)//파일 쓰기.
{
시도하다
{
Filewriter fout = new filewriter (this.file);
Fout.write (라인+"\ 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 을 반환합니다
}
}