java记事本源代码.doc
import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.io.*; import javax.swing.*; import javax.swing.event.*; import java.util.List; public class TextFileEditorJFrame extends JFrame implements ActionListener,ItemListener,MouseListener {private File file; // 当前文件 //--- 文件菜单,定义的添加项,新建,打开,保存,另存为,退出------//private JMenuItem menuitem_create,menuitem_open,menuitem_save,menuitem_saveas,menuitem_exit;//--- 编辑菜单,定义的添加项,剪切,复制,粘贴,删除-------//private JMenuItem menuitem_cut, menuitem_copy,menuitem_paste,menuitem_delete;//----右键菜单项,剪切,复制,粘贴,删除----//private JMenuItem final_cut,final_copy,final_paste,final_delete;private JTextArea textarea; //文本编辑区private JButton button_color; // 设置颜色 private JScrollPane scroll; //为文本编辑区提供滚动条 private JDialog dialog1,dialog2; //对话框private JLabel label_dialog,label_dialog2; private Boolean via=false; private JPopupMenu popupmenu; //右键弹出菜单private JCheckBoxMenuItem checkbox_cuti, checkbox_xieti; // 复选框表示粗体、斜体 private String fileName=null; //文件名 private int k = 0; //k 用来存放字号大小private String size = “宋体“;private JComboBox jco1,jco2; //工具栏处表示字体,字号组合框File currentFile,saveFileName = null, fileName1 = null; // 文件类 public TextFileEditorJFrame() // 空文件的构造方法,初始化{super(“文本编辑器“); //框架的标题this.setSize(700,500); this.setLocation(140,140); //相对界面的位置this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textarea = new JTextArea(““); textarea.addMouseListener(this);this.add(textarea); // 添加文本区this.addMenu(); //调用自定义的 addMenu() 方法,添加菜单栏 this.addToolBar(); //调用自定义的 addToolBar ()方法,添加工具栏textarea.setFont(new Font(“宋体“,1,16)); //设置文本区初始字体 this.setVisible(true);textarea.requestFocus(); // 设置文本区焦聚this.file = null; // 空文件对象}public TextFileEditorJFrame(String filename) //指定文件名的构造方法//即打开文件后显示 文件内容{this(); if (filename!=null){this.file = new File(filename);this.setTitle(filename); // 将文件名添加在窗口标题 栏上this.textarea.setText(this.readFromFile()); // 读取指定文件中的字符串,并显 示在文本区中}}public TextFileEditorJFrame(File file) // 指定文件对象的构造方法,{ //通过文件对象调用函数得到文件 名,从而读取文件内容this(); if (file!=null){this.file = file;this.setTitle(this.file.getName()); // 把标题设置成得到的文件名,通过文件对 象调用函数得到文件名this.textarea.setText(this.readFromFile()); // 调用 readFromFile() 方法,把读取的 内容在文本区显示}}private void addMenu() // 添加主菜单{JMenuBar menubar = new JMenuBar(); // 创建菜单栏this.setJMenuBar(menubar); //将菜单条设置为当前窗口的菜单条//-----------------------------------------文件菜单----------------------------------------------JMenu menu_file = new JMenu(“文件“);