Java记事本源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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("文件");
menubar.add(menu_file); //创建文件菜单,并添加到菜单栏
menuitem_create = new JMenuItem("新建(N)"); //创建新建菜单项
menuitem_create.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
ActionEvent.CTRL_MASK)); //为新建设置快捷键Ctrl+N