记事本源码.docx
《记事本源码.docx》由会员分享,可在线阅读,更多相关《记事本源码.docx(17页珍藏版)》请在冰豆网上搜索。
记事本源码
//Note.java
/*
*主界面布局
*/
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.MenuItem;
importjava.awt.PopupMenu;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.*;
importjavax.swing.undo.UndoManager;
publicclassNote{
privateJMenujmenu;
privateJMenuBarmb;
privateJMenuItemjmi;
privatestaticJTextAreata;
privatestaticJFramejf;
privatestaticUndoManagerum;
privatestaticJLabeljl1;
privatestaticJLabeljl2;
privatestaticJToolBarjb;
privateString[]menu_name=newString[]//菜单
{"文件","编辑","设置","关于"};
privateString[][]menu_item=newString[][]{//子菜单
{"打开","保存","退出"},
{"撤销","恢复","复制","粘贴","剪切","删除"},
{"自动换行","字体颜色","恢复默认"},
{"关于记事本"}
};
privateStringjpm_name[]={//右键菜单
"撤销",
"恢复",
"复制",
"粘贴",
"剪切",
"删除"
publicNote()
{
jf=newJFrame("无标题-记事本");
jf.setSize(850,550);
jf.setLocation(100,100);
mb=newJMenuBar();
mb.setBackground(newColor(236,233,216));
jf.setJMenuBar(mb);
addMenu();//添加菜单
addTextArea();//添加文本输入区
addStatusBar();//添加状态栏
addPopupMenu();//添加右键菜单
jf.setVisible(true);
jf.addWindowListener(newWindowAdapter(){//监听关闭窗口动作
publicvoidwindowClosing(WindowEvente){
Handlerh=newHandler();
h.windowExit();
//super.windowClosing(e);
}
});
privatevoidaddPopupMenu(){//右键菜单
finalPopupMenujpm=newPopupMenu();
jpm.setFont(newFont("宋体",0,12));
for(inti=0;iMenuItemjpim=newMenuItem(jpm_name[i]);jpm.add(jpim);jpim.addActionListener(newPopupAction());//创建右键监听}jf.add(jpm);ta.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){if(e.getButton()==MouseEvent.BUTTON3){jpm.show(ta,e.getX(),e.getY());//设置显示区域}}});}privatevoidaddTextArea(){ta=newJTextArea();ta.addMouseListener(newMouseHandler());ta.addKeyListener(newMouseHandler());um=newUndoManager();ta.getDocument().addUndoableEditListener(um);JScrollPanescroll=newJScrollPane(ta);scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//自动出现水平动条scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);//自动出现竖滚动条jf.getContentPane().add(scroll,BorderLayout.CENTER);}privatevoidaddMenu(){for(inti=0;i{jmenu=newJMenu(menu_name[i]);jmenu.setFont(newFont("宋体",0,12));for(intj=0;j{jmi=newJMenuItem(menu_item[i][j]);jmi.setFont(newFont("宋体",0,12));jmi.addActionListener(newHandler());jmenu.add(jmi);}mb.add(jmenu);}}privatevoidaddStatusBar(){jb=newJToolBar();jb.setBackground(newColor(236,233,216));jl1=newJLabel("字符总长:"+0+"总行数:"+1+"");jl1.setFont(newFont("宋体",0,12));jb.add(jl1);JSeparators=newJSeparator();//设置分隔符s.setOrientation(SwingConstants.VERTICAL);jb.add(s);jl2=newJLabel("当前行:"+1+"当前列:"+0+"");jl2.setFont(newFont("宋体",0,12));jb.add(jl2);jb.setFloatable(false);jf.getContentPane().add(jb,BorderLayout.SOUTH);}publicstaticvoidmain(String[]args){SetFont();newNote();}publicstaticJToolBargetJb(){returnjb;}publicstaticJFramegetJFrame(){returnjf;}publicstaticJLabelgetLabel1(){returnjl1;}publicstaticJLabelgetLabel2(){returnjl2;}staticUndoManagergetUM(){returnum;}staticJTextAreagetTextArea(){returnta;}staticvoidSetFont(){Fontfont=newFont("宋体",0,12);UIManager.put("Button.font",font);UIManager.put("CheckBox.font",font);UIManager.put("CheckBoxMenuItem.acceleratorFont",font);UIManager.put("CheckBoxMenuItem.font",font);UIManager.put("ColorChooser.font",font);UIManager.put("ComboBox.font",font);UIManager.put("DesktopIcon.font",font);UIManager.put("EditorPane.font",font);UIManager.put("FormattedTextField.font",font);UIManager.put("InternalFrame.titleFont",font);UIManager.put("Label.font",font);UIManager.put("List.font",font);UIManager.put("Menu.acceleratorFont",font);UIManager.put("Menu.font",font);UIManager.put("MenuBar.font",font);UIManager.put("MenuItem.acceleratorFont",font);UIManager.put("MenuItem.font",font);UIManager.put("OptionPane.font",font);UIManager.put("Panel.font",font);UIManager.put("PasswordField.font",font);UIManager.put("PopupMenu.font",font);UIManager.put("ProgressBar.font",font);UIManager.put("RadioButton.font",font);UIManager.put("RadioButtonMenuItem.acceleratorFont",font);UIManager.put("RadioButtonMenuItem.font",font);UIManager.put("ScrollPane.font",font);UIManager.put("Spinner.font",font);UIManager.put("TabbedPane.font",font);UIManager.put("Table.font",font);UIManager.put("TableHeader.font",font);UIManager.put("TextArea.font",font);UIManager.put("TextField.font",font);UIManager.put("TextPane.font",font);UIManager.put("TitledBorder.font",font);UIManager.put("ToggleButton.font",font);UIManager.put("ToolBar.font",font);UIManager.put("ToolTip.font",font);UIManager.put("Tree.font",font);UIManager.put("Viewport.font",font);}}//Handler.javaimportjava.io.*;importjava.awt.Color;importjava.awt.datatransfer.Clipboard;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.StringSelection;importjava.awt.datatransfer.Transferable;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.filechooser.*;publicclassHandlerimplementsActionListener{Filefile=null;JFramej=newJFrame();String[]event_name=newString[]{"打开","保存","退出","撤销","恢复","复制","粘贴","剪切","删除","自动换行","字体颜色","恢复默认","关于记事本"};FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文档(*.txt)","txt");JFileChooseropenfile=newJFileChooser(".");//创建文件筛选privateintindex;intre=0;Clipboardclipboard=j.getToolkit().getSystemClipboard();//获取系统剪贴板publicvoidactionPerformed(ActionEventevent){Strings=event.getActionCommand();for(inti=0;i{if(event_name[i].equals(s)){index=i;}}switch(index){case0:OpenFile();//打开break;case1:SaveFile();//保存break;case2://退出程序Exit();break;case3:if(Note.getUM().canUndo()){//撤销Note.getUM().undo();}break;case4:if(Note.getUM().canRedo()){//恢复Note.getUM().redo();}case5:Copy();//复制break;case6:Paste();//粘贴break;case7:Cut();//剪切break;case8:Delete();//删除break;case9:Note.getTextArea().setLineWrap(true);Note.getJb().setEnabled(false);Note.getJb().setVisible(false);break;case10:SetFontColor();//设置颜色break;case11:Note.getTextArea().setLineWrap(false);Note.getTextArea().setForeground(Color.black);Note.getJb().setEnabled(true);Note.getJb().setVisible(true);break;case12://关于JFramejf=newJFrame();//jf.setSize(360,140);//jf.setVisible(true);//Iconic=newImageIcon("about.png");JOptionPane.showMessageDialog(jf,"PoweredbyTeam255"+"\n"+"Version:1.0"+"\n"+"开发人员:陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);break;}}voidDelete(){//删JTextAreata=Note.getTextArea();intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);}voidCut(){//剪JTextAreata=Note.getTextArea();Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);//从Text1中删除被选取的文本。}publicvoidPaste(){//粘Transferablecontents=clipboard.getContents(this);DataFlavorflavor=DataFlavor.stringFlavor;if(contents.isDataFlavorSupported(flavor))try{Stringstr=(String)contents.getTransferData(flavor);Note.getTextArea().append(str);}catch(Exceptionee){}}publicvoidCopy(){//复Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);}publicvoidExit(){if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭//{}//elseif(s==JOptionPane.CLOSED_OPTION)//{}}}publicvoidwindowExit(){//退出if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}elseif(s==JOptionPane.CANCEL_OPTION)//点关闭{Newwindow();}elseif(s==JOptionPane.CLOSED_OPTION){Newwindow();}}}privatevoidNewwindow(){Stringtemp=Note.getTextArea().getText();newNote();Note.getTextArea().setText(temp);}privat
MenuItemjpim=newMenuItem(jpm_name[i]);
jpm.add(jpim);
jpim.addActionListener(newPopupAction());//创建右键监听
jf.add(jpm);
ta.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getButton()==MouseEvent.BUTTON3){
jpm.show(ta,e.getX(),e.getY());//设置显示区域
privatevoidaddTextArea(){
ta=newJTextArea();
ta.addMouseListener(newMouseHandler());
ta.addKeyListener(newMouseHandler());
um=newUndoManager();
ta.getDocument().addUndoableEditListener(um);
JScrollPanescroll=newJScrollPane(ta);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//自动出现水平动条
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);//自动出现竖滚动条
jf.getContentPane().add(scroll,BorderLayout.CENTER);
privatevoidaddMenu(){
for(inti=0;i{jmenu=newJMenu(menu_name[i]);jmenu.setFont(newFont("宋体",0,12));for(intj=0;j{jmi=newJMenuItem(menu_item[i][j]);jmi.setFont(newFont("宋体",0,12));jmi.addActionListener(newHandler());jmenu.add(jmi);}mb.add(jmenu);}}privatevoidaddStatusBar(){jb=newJToolBar();jb.setBackground(newColor(236,233,216));jl1=newJLabel("字符总长:"+0+"总行数:"+1+"");jl1.setFont(newFont("宋体",0,12));jb.add(jl1);JSeparators=newJSeparator();//设置分隔符s.setOrientation(SwingConstants.VERTICAL);jb.add(s);jl2=newJLabel("当前行:"+1+"当前列:"+0+"");jl2.setFont(newFont("宋体",0,12));jb.add(jl2);jb.setFloatable(false);jf.getContentPane().add(jb,BorderLayout.SOUTH);}publicstaticvoidmain(String[]args){SetFont();newNote();}publicstaticJToolBargetJb(){returnjb;}publicstaticJFramegetJFrame(){returnjf;}publicstaticJLabelgetLabel1(){returnjl1;}publicstaticJLabelgetLabel2(){returnjl2;}staticUndoManagergetUM(){returnum;}staticJTextAreagetTextArea(){returnta;}staticvoidSetFont(){Fontfont=newFont("宋体",0,12);UIManager.put("Button.font",font);UIManager.put("CheckBox.font",font);UIManager.put("CheckBoxMenuItem.acceleratorFont",font);UIManager.put("CheckBoxMenuItem.font",font);UIManager.put("ColorChooser.font",font);UIManager.put("ComboBox.font",font);UIManager.put("DesktopIcon.font",font);UIManager.put("EditorPane.font",font);UIManager.put("FormattedTextField.font",font);UIManager.put("InternalFrame.titleFont",font);UIManager.put("Label.font",font);UIManager.put("List.font",font);UIManager.put("Menu.acceleratorFont",font);UIManager.put("Menu.font",font);UIManager.put("MenuBar.font",font);UIManager.put("MenuItem.acceleratorFont",font);UIManager.put("MenuItem.font",font);UIManager.put("OptionPane.font",font);UIManager.put("Panel.font",font);UIManager.put("PasswordField.font",font);UIManager.put("PopupMenu.font",font);UIManager.put("ProgressBar.font",font);UIManager.put("RadioButton.font",font);UIManager.put("RadioButtonMenuItem.acceleratorFont",font);UIManager.put("RadioButtonMenuItem.font",font);UIManager.put("ScrollPane.font",font);UIManager.put("Spinner.font",font);UIManager.put("TabbedPane.font",font);UIManager.put("Table.font",font);UIManager.put("TableHeader.font",font);UIManager.put("TextArea.font",font);UIManager.put("TextField.font",font);UIManager.put("TextPane.font",font);UIManager.put("TitledBorder.font",font);UIManager.put("ToggleButton.font",font);UIManager.put("ToolBar.font",font);UIManager.put("ToolTip.font",font);UIManager.put("Tree.font",font);UIManager.put("Viewport.font",font);}}//Handler.javaimportjava.io.*;importjava.awt.Color;importjava.awt.datatransfer.Clipboard;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.StringSelection;importjava.awt.datatransfer.Transferable;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.filechooser.*;publicclassHandlerimplementsActionListener{Filefile=null;JFramej=newJFrame();String[]event_name=newString[]{"打开","保存","退出","撤销","恢复","复制","粘贴","剪切","删除","自动换行","字体颜色","恢复默认","关于记事本"};FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文档(*.txt)","txt");JFileChooseropenfile=newJFileChooser(".");//创建文件筛选privateintindex;intre=0;Clipboardclipboard=j.getToolkit().getSystemClipboard();//获取系统剪贴板publicvoidactionPerformed(ActionEventevent){Strings=event.getActionCommand();for(inti=0;i{if(event_name[i].equals(s)){index=i;}}switch(index){case0:OpenFile();//打开break;case1:SaveFile();//保存break;case2://退出程序Exit();break;case3:if(Note.getUM().canUndo()){//撤销Note.getUM().undo();}break;case4:if(Note.getUM().canRedo()){//恢复Note.getUM().redo();}case5:Copy();//复制break;case6:Paste();//粘贴break;case7:Cut();//剪切break;case8:Delete();//删除break;case9:Note.getTextArea().setLineWrap(true);Note.getJb().setEnabled(false);Note.getJb().setVisible(false);break;case10:SetFontColor();//设置颜色break;case11:Note.getTextArea().setLineWrap(false);Note.getTextArea().setForeground(Color.black);Note.getJb().setEnabled(true);Note.getJb().setVisible(true);break;case12://关于JFramejf=newJFrame();//jf.setSize(360,140);//jf.setVisible(true);//Iconic=newImageIcon("about.png");JOptionPane.showMessageDialog(jf,"PoweredbyTeam255"+"\n"+"Version:1.0"+"\n"+"开发人员:陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);break;}}voidDelete(){//删JTextAreata=Note.getTextArea();intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);}voidCut(){//剪JTextAreata=Note.getTextArea();Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);//从Text1中删除被选取的文本。}publicvoidPaste(){//粘Transferablecontents=clipboard.getContents(this);DataFlavorflavor=DataFlavor.stringFlavor;if(contents.isDataFlavorSupported(flavor))try{Stringstr=(String)contents.getTransferData(flavor);Note.getTextArea().append(str);}catch(Exceptionee){}}publicvoidCopy(){//复Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);}publicvoidExit(){if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭//{}//elseif(s==JOptionPane.CLOSED_OPTION)//{}}}publicvoidwindowExit(){//退出if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}elseif(s==JOptionPane.CANCEL_OPTION)//点关闭{Newwindow();}elseif(s==JOptionPane.CLOSED_OPTION){Newwindow();}}}privatevoidNewwindow(){Stringtemp=Note.getTextArea().getText();newNote();Note.getTextArea().setText(temp);}privat
jmenu=newJMenu(menu_name[i]);
jmenu.setFont(newFont("宋体",0,12));
for(intj=0;j{jmi=newJMenuItem(menu_item[i][j]);jmi.setFont(newFont("宋体",0,12));jmi.addActionListener(newHandler());jmenu.add(jmi);}mb.add(jmenu);}}privatevoidaddStatusBar(){jb=newJToolBar();jb.setBackground(newColor(236,233,216));jl1=newJLabel("字符总长:"+0+"总行数:"+1+"");jl1.setFont(newFont("宋体",0,12));jb.add(jl1);JSeparators=newJSeparator();//设置分隔符s.setOrientation(SwingConstants.VERTICAL);jb.add(s);jl2=newJLabel("当前行:"+1+"当前列:"+0+"");jl2.setFont(newFont("宋体",0,12));jb.add(jl2);jb.setFloatable(false);jf.getContentPane().add(jb,BorderLayout.SOUTH);}publicstaticvoidmain(String[]args){SetFont();newNote();}publicstaticJToolBargetJb(){returnjb;}publicstaticJFramegetJFrame(){returnjf;}publicstaticJLabelgetLabel1(){returnjl1;}publicstaticJLabelgetLabel2(){returnjl2;}staticUndoManagergetUM(){returnum;}staticJTextAreagetTextArea(){returnta;}staticvoidSetFont(){Fontfont=newFont("宋体",0,12);UIManager.put("Button.font",font);UIManager.put("CheckBox.font",font);UIManager.put("CheckBoxMenuItem.acceleratorFont",font);UIManager.put("CheckBoxMenuItem.font",font);UIManager.put("ColorChooser.font",font);UIManager.put("ComboBox.font",font);UIManager.put("DesktopIcon.font",font);UIManager.put("EditorPane.font",font);UIManager.put("FormattedTextField.font",font);UIManager.put("InternalFrame.titleFont",font);UIManager.put("Label.font",font);UIManager.put("List.font",font);UIManager.put("Menu.acceleratorFont",font);UIManager.put("Menu.font",font);UIManager.put("MenuBar.font",font);UIManager.put("MenuItem.acceleratorFont",font);UIManager.put("MenuItem.font",font);UIManager.put("OptionPane.font",font);UIManager.put("Panel.font",font);UIManager.put("PasswordField.font",font);UIManager.put("PopupMenu.font",font);UIManager.put("ProgressBar.font",font);UIManager.put("RadioButton.font",font);UIManager.put("RadioButtonMenuItem.acceleratorFont",font);UIManager.put("RadioButtonMenuItem.font",font);UIManager.put("ScrollPane.font",font);UIManager.put("Spinner.font",font);UIManager.put("TabbedPane.font",font);UIManager.put("Table.font",font);UIManager.put("TableHeader.font",font);UIManager.put("TextArea.font",font);UIManager.put("TextField.font",font);UIManager.put("TextPane.font",font);UIManager.put("TitledBorder.font",font);UIManager.put("ToggleButton.font",font);UIManager.put("ToolBar.font",font);UIManager.put("ToolTip.font",font);UIManager.put("Tree.font",font);UIManager.put("Viewport.font",font);}}//Handler.javaimportjava.io.*;importjava.awt.Color;importjava.awt.datatransfer.Clipboard;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.StringSelection;importjava.awt.datatransfer.Transferable;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.filechooser.*;publicclassHandlerimplementsActionListener{Filefile=null;JFramej=newJFrame();String[]event_name=newString[]{"打开","保存","退出","撤销","恢复","复制","粘贴","剪切","删除","自动换行","字体颜色","恢复默认","关于记事本"};FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文档(*.txt)","txt");JFileChooseropenfile=newJFileChooser(".");//创建文件筛选privateintindex;intre=0;Clipboardclipboard=j.getToolkit().getSystemClipboard();//获取系统剪贴板publicvoidactionPerformed(ActionEventevent){Strings=event.getActionCommand();for(inti=0;i{if(event_name[i].equals(s)){index=i;}}switch(index){case0:OpenFile();//打开break;case1:SaveFile();//保存break;case2://退出程序Exit();break;case3:if(Note.getUM().canUndo()){//撤销Note.getUM().undo();}break;case4:if(Note.getUM().canRedo()){//恢复Note.getUM().redo();}case5:Copy();//复制break;case6:Paste();//粘贴break;case7:Cut();//剪切break;case8:Delete();//删除break;case9:Note.getTextArea().setLineWrap(true);Note.getJb().setEnabled(false);Note.getJb().setVisible(false);break;case10:SetFontColor();//设置颜色break;case11:Note.getTextArea().setLineWrap(false);Note.getTextArea().setForeground(Color.black);Note.getJb().setEnabled(true);Note.getJb().setVisible(true);break;case12://关于JFramejf=newJFrame();//jf.setSize(360,140);//jf.setVisible(true);//Iconic=newImageIcon("about.png");JOptionPane.showMessageDialog(jf,"PoweredbyTeam255"+"\n"+"Version:1.0"+"\n"+"开发人员:陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);break;}}voidDelete(){//删JTextAreata=Note.getTextArea();intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);}voidCut(){//剪JTextAreata=Note.getTextArea();Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);//从Text1中删除被选取的文本。}publicvoidPaste(){//粘Transferablecontents=clipboard.getContents(this);DataFlavorflavor=DataFlavor.stringFlavor;if(contents.isDataFlavorSupported(flavor))try{Stringstr=(String)contents.getTransferData(flavor);Note.getTextArea().append(str);}catch(Exceptionee){}}publicvoidCopy(){//复Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);}publicvoidExit(){if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭//{}//elseif(s==JOptionPane.CLOSED_OPTION)//{}}}publicvoidwindowExit(){//退出if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}elseif(s==JOptionPane.CANCEL_OPTION)//点关闭{Newwindow();}elseif(s==JOptionPane.CLOSED_OPTION){Newwindow();}}}privatevoidNewwindow(){Stringtemp=Note.getTextArea().getText();newNote();Note.getTextArea().setText(temp);}privat
jmi=newJMenuItem(menu_item[i][j]);
jmi.setFont(newFont("宋体",0,12));
jmi.addActionListener(newHandler());
jmenu.add(jmi);
mb.add(jmenu);
privatevoidaddStatusBar(){
jb=newJToolBar();
jb.setBackground(newColor(236,233,216));
jl1=newJLabel("字符总长:
"+0+"总行数:
"+1+"");
jl1.setFont(newFont("宋体",0,12));
jb.add(jl1);
JSeparators=newJSeparator();//设置分隔符
s.setOrientation(SwingConstants.VERTICAL);
jb.add(s);
jl2=newJLabel("当前行:
"+1+"当前列:
"+0+"");
jl2.setFont(newFont("宋体",0,12));
jb.add(jl2);
jb.setFloatable(false);
jf.getContentPane().add(jb,BorderLayout.SOUTH);
publicstaticvoidmain(String[]args){
SetFont();
newNote();
publicstaticJToolBargetJb(){
returnjb;
publicstaticJFramegetJFrame(){
returnjf;
publicstaticJLabelgetLabel1(){
returnjl1;
publicstaticJLabelgetLabel2(){
returnjl2;
staticUndoManagergetUM()
returnum;
staticJTextAreagetTextArea(){
returnta;
staticvoidSetFont()
Fontfont=newFont("宋体",0,12);
UIManager.put("Button.font",font);
UIManager.put("CheckBox.font",font);
UIManager.put("CheckBoxMenuItem.acceleratorFont",font);
UIManager.put("CheckBoxMenuItem.font",font);
UIManager.put("ColorChooser.font",font);
UIManager.put("ComboBox.font",font);
UIManager.put("DesktopIcon.font",font);
UIManager.put("EditorPane.font",font);
UIManager.put("FormattedTextField.font",font);
UIManager.put("InternalFrame.titleFont",font);
UIManager.put("Label.font",font);
UIManager.put("List.font",font);
UIManager.put("Menu.acceleratorFont",font);
UIManager.put("Menu.font",font);
UIManager.put("MenuBar.font",font);
UIManager.put("MenuItem.acceleratorFont",font);
UIManager.put("MenuItem.font",font);
UIManager.put("OptionPane.font",font);
UIManager.put("Panel.font",font);
UIManager.put("PasswordField.font",font);
UIManager.put("PopupMenu.font",font);
UIManager.put("ProgressBar.font",font);
UIManager.put("RadioButton.font",font);
UIManager.put("RadioButtonMenuItem.acceleratorFont",font);
UIManager.put("RadioButtonMenuItem.font",font);
UIManager.put("ScrollPane.font",font);
UIManager.put("Spinner.font",font);
UIManager.put("TabbedPane.font",font);
UIManager.put("Table.font",font);
UIManager.put("TableHeader.font",font);
UIManager.put("TextArea.font",font);
UIManager.put("TextField.font",font);
UIManager.put("TextPane.font",font);
UIManager.put("TitledBorder.font",font);
UIManager.put("ToggleButton.font",font);
UIManager.put("ToolBar.font",font);
UIManager.put("ToolTip.font",font);
UIManager.put("Tree.font",font);
UIManager.put("Viewport.font",font);
//Handler.java
importjava.io.*;
importjava.awt.datatransfer.Clipboard;
importjava.awt.datatransfer.DataFlavor;
importjava.awt.datatransfer.StringSelection;
importjava.awt.datatransfer.Transferable;
importjava.awt.event.*;
importjavax.swing.filechooser.*;
publicclassHandlerimplementsActionListener{
Filefile=null;
JFramej=newJFrame();
String[]event_name=newString[]{
"打开","保存","退出",
"撤销","恢复","复制","粘贴","剪切","删除",
"自动换行","字体颜色","恢复默认",
"关于记事本"};
FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文档(*.txt)","txt");
JFileChooseropenfile=newJFileChooser(".");//创建文件筛选
privateintindex;
intre=0;
Clipboardclipboard=j.getToolkit().getSystemClipboard();//获取系统剪贴板
publicvoidactionPerformed(ActionEventevent){
Strings=event.getActionCommand();
for(inti=0;i{if(event_name[i].equals(s)){index=i;}}switch(index){case0:OpenFile();//打开break;case1:SaveFile();//保存break;case2://退出程序Exit();break;case3:if(Note.getUM().canUndo()){//撤销Note.getUM().undo();}break;case4:if(Note.getUM().canRedo()){//恢复Note.getUM().redo();}case5:Copy();//复制break;case6:Paste();//粘贴break;case7:Cut();//剪切break;case8:Delete();//删除break;case9:Note.getTextArea().setLineWrap(true);Note.getJb().setEnabled(false);Note.getJb().setVisible(false);break;case10:SetFontColor();//设置颜色break;case11:Note.getTextArea().setLineWrap(false);Note.getTextArea().setForeground(Color.black);Note.getJb().setEnabled(true);Note.getJb().setVisible(true);break;case12://关于JFramejf=newJFrame();//jf.setSize(360,140);//jf.setVisible(true);//Iconic=newImageIcon("about.png");JOptionPane.showMessageDialog(jf,"PoweredbyTeam255"+"\n"+"Version:1.0"+"\n"+"开发人员:陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);break;}}voidDelete(){//删JTextAreata=Note.getTextArea();intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);}voidCut(){//剪JTextAreata=Note.getTextArea();Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);intstart=ta.getSelectionStart();intend=ta.getSelectionEnd();ta.replaceRange("",start,end);//从Text1中删除被选取的文本。}publicvoidPaste(){//粘Transferablecontents=clipboard.getContents(this);DataFlavorflavor=DataFlavor.stringFlavor;if(contents.isDataFlavorSupported(flavor))try{Stringstr=(String)contents.getTransferData(flavor);Note.getTextArea().append(str);}catch(Exceptionee){}}publicvoidCopy(){//复Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。StringSelectiontext=newStringSelection(temp);clipboard.setContents(text,null);}publicvoidExit(){if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭//{}//elseif(s==JOptionPane.CLOSED_OPTION)//{}}}publicvoidwindowExit(){//退出if(Note.getTextArea().getText().equals(""))//判断是否有内容{System.exit(0);}else{ints=JOptionPane.showConfirmDialog(j,"是否保存退出?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出if(s==JOptionPane.YES_OPTION){SaveFile();if(re==0)//保存成功,则退出{System.exit(0);}else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面}elseif(s==JOptionPane.NO_OPTION)//点击否,则退出{System.exit(0);}elseif(s==JOptionPane.CANCEL_OPTION)//点关闭{Newwindow();}elseif(s==JOptionPane.CLOSED_OPTION){Newwindow();}}}privatevoidNewwindow(){Stringtemp=Note.getTextArea().getText();newNote();Note.getTextArea().setText(temp);}privat
{if(event_name[i].equals(s))
index=i;
switch(index)
case0:
OpenFile();//打开
break;
case1:
SaveFile();//保存
case2:
//退出程序
Exit();
case3:
if(Note.getUM().canUndo()){//撤销
Note.getUM().undo();
case4:
if(Note.getUM().canRedo()){//恢复
Note.getUM().redo();
case5:
Copy();//复制
case6:
Paste();//粘贴
case7:
Cut();//剪切
case8:
Delete();//删除
case9:
Note.getTextArea().setLineWrap(true);
Note.getJb().setEnabled(false);
Note.getJb().setVisible(false);
case10:
SetFontColor();//设置颜色
case11:
Note.getTextArea().setLineWrap(false);
Note.getTextArea().setForeground(Color.black);
Note.getJb().setEnabled(true);
Note.getJb().setVisible(true);
case12:
//关于
JFramejf=newJFrame();
//jf.setSize(360,140);
//jf.setVisible(true);
//Iconic=newImageIcon("about.png");
JOptionPane.showMessageDialog
(jf,"PoweredbyTeam255"+"\n"
+"Version:
1.0"+"\n"+
"开发人员:
陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);
voidDelete(){//删
JTextAreata=Note.getTextArea();
intstart=ta.getSelectionStart();
intend=ta.getSelectionEnd();
ta.replaceRange("",start,end);
voidCut(){//剪
Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。
StringSelectiontext=newStringSelection(temp);
clipboard.setContents(text,null);
ta.replaceRange("",start,end);//从Text1中删除被选取的文本。
publicvoidPaste(){//粘
Transferablecontents=clipboard.getContents(this);
DataFlavorflavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
try{
Stringstr=(String)contents.getTransferData(flavor);
Note.getTextArea().append(str);
catch(Exceptionee){}
publicvoidCopy(){//复
Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。
publicvoidExit()
if(Note.getTextArea().getText().equals(""))//判断是否有内容
System.exit(0);}
else
ints=JOptionPane.showConfirmDialog(j,"是否保存退出?
","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出
if(s==JOptionPane.YES_OPTION)
{SaveFile();
if(re==0)//保存成功,则退出
{System.exit(0);}
else{re=0;}//取消保存,则将RE置0,返回主界面
elseif(s==JOptionPane.NO_OPTION)//点击否,则退出
//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭
//{}
//elseif(s==JOptionPane.CLOSED_OPTION)
publicvoidwindowExit(){//退出
else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面
elseif(s==JOptionPane.CANCEL_OPTION)//点关闭
{Newwindow();}
elseif(s==JOptionPane.CLOSED_OPTION)
privatevoidNewwindow(){
Stringtemp=Note.getTextArea().getText();
Note.getTextArea().setText(temp);
privat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1