您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Java记事本程序源代码
importjava.awt.CheckboxMenuItem;importjava.awt.Color;importjava.awt.Container;importjava.awt.FileDialog;importjava.awt.FlowLayout;importjava.awt.Font;importjava.awt.GraphicsEnvironment;importjava.awt.Menu;importjava.awt.MenuBar;importjava.awt.MenuItem;importjava.awt.MenuShortcut;importjava.awt.TextArea;importjava.awt.Toolkit;importjava.awt.Window;importjava.awt.datatransfer.Clipboard;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.StringSelection;importjava.awt.datatransfer.Transferable;importjava.awt.datatransfer.UnsupportedFlavorException;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.JButton;importjavax.swing.JColorChooser;importjavax.swing.JComboBox;importjavax.swing.JDialog;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassnotebook{//记事本的具体实现类privatestaticfinallongserialVersionUID=1L;privateTextAreacontent;privateStringfilePath=;//先让路径为空Colorcolor=Color.red;ToolkittoolKit=Toolkit.getDefaultToolkit();Clipboardclipboard=toolKit.getSystemClipboard();publicnotebook(){//创建一个JFrame对象;并设置相关属性finalJFramejf=newJFrame(我的记事本);jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);jf.setBounds(100,100,500,500);jf.setResizable(true);jf.setVisible(true);//创建菜单栏MenuBarmenu=newMenuBar();jf.setMenuBar(menu);//创建并添加文本框content=newTextArea(,50,50,TextArea.SCROLLBARS_VERTICAL_ONLY);jf.add(content);content.setVisible(true);content.requestFocusInWindow();//菜单栏添加内容Menufilemenu=newMenu(文件(F));Menueditmenu=newMenu(编辑(E));Menuformatmenu=newMenu(格式(O));Menuviewmenu=newMenu(查看(V));Menuhelpmenu=newMenu(帮助(H));menu.add(filemenu);menu.add(editmenu);menu.add(formatmenu);menu.add(viewmenu);menu.add(helpmenu);//创建文件菜单上的各个菜单项并添加到菜单上MenuItemnewitem=newMenuItem(新建(N));newitem.setShortcut(newMenuShortcut(KeyEvent.VK_N,false));filemenu.add(newitem);MenuItemopenitem=newMenuItem(打开(O));openitem.setShortcut(newMenuShortcut(KeyEvent.VK_O,false));filemenu.add(openitem);MenuItemsaveitem=newMenuItem(保存(S));saveitem.setShortcut(newMenuShortcut(KeyEvent.VK_S,false));filemenu.add(saveitem);MenuItemsaveasitem=newMenuItem(另存为(A));saveasitem.setShortcut(newMenuShortcut(KeyEvent.VK_A,false));filemenu.add(saveasitem);MenuItemsetitem=newMenuItem(页面设置(U));setitem.setShortcut(newMenuShortcut(KeyEvent.VK_U,false));filemenu.add(setitem);setitem.setEnabled(false);MenuItemprintitem=newMenuItem(打印(P));printitem.setShortcut(newMenuShortcut(KeyEvent.VK_P,false));filemenu.add(printitem);printitem.setEnabled(false);filemenu.addSeparator();MenuItemexititem=newMenuItem(退出(X));exititem.setShortcut(newMenuShortcut(KeyEvent.VK_X,false));filemenu.add(exititem);//添加监听器来实现文件菜单上的各个菜单项的功能//新建菜单项的功能实现newitem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringcon=content.getText();if(!con.equals()){//文本域里文本不为空intresult=JOptionPane.showConfirmDialog(null,(是否要保存?),(保存文件...),JOptionPane.YES_NO_CANCEL_OPTION);if(result==JOptionPane.NO_OPTION){//不保存content.setText();}elseif(result==JOptionPane.CANCEL_OPTION){//取消新建}elseif(result==JOptionPane.YES_OPTION)//选择保存{JFileChooserjfc=newJFileChooser();//用于选择保存路径的文件名intbcf=jfc.showSaveDialog(jf);if(bcf==JFileChooser.APPROVE_OPTION){try{//保存文件BufferedWriterbfw=newBufferedWriter(newFileWriter(newFile(jfc.getSelectedFile().getAbsolutePath()+.txt)));filePath=jfc.getSelectedFile().getAbsolutePath()+.txt;//获取文件保存的路径bfw.write(con);//向文件写出数据bfw.flush();bfw.close();//关闭输出流}catch(IOExceptionex){Logger.getLogger(notebook.class.getName()).log(Level.SEVERE,null,ex);}newnotebook();//新建文本文件}}}}});//打开菜单项的功能实现openitem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//JFileChooserjfile=newJFileChooser();//FileNameExtensionFilterfilter=newFileNameExtensionFilter(*.txt,txt);//jfile.setFileFilter(filter);//jfile.setVisible(true);//intreturnval=jfile.showOpenDialog(jfile);//filePath=jfile.getDialogTitle()+jfile.getSelectedFile().getName();//System.out.println(jfile.getSelectedFile());FileDialogdialog=newFileDialog(newJFrame(),打开....,FileDialog.LOAD);dialog.setVisible(true);filePath=dialog.getDirectory()+dialog.getFile();System.out.println(filePath);Filefile=newFile(filePath);BufferedReaderbr=null;StringBuildersb=newStringBuilder();try{br=newBufferedReader(newFileReader(file));Stringstr=null;while((str=br.readLine())!=null){sb.append(str).append(\n);}content.setText(sb.toString());}catch(FileNotFoundExceptione1){e1.printStackTrace();}catch(IOExceptione1){e1.printStackTrace();}finally{if(br!=null){try{br.close();}catch(IOExceptione1){e1.printStackTrace();}}}}});//保存菜单项的功能实现saveitem
本文标题:Java记事本程序源代码
链接地址:https://www.777doc.com/doc-6876921 .html