用java写的简易记事本

合集下载

我用java编写的记事本代码,分享给大家

我用java编写的记事本代码,分享给大家
backcolor.add(gray); backcolor.addSeparator();
backcolor.add(white); backcolor.addSeparator();
backcolor.add(pink); backcolor.addSeparator();
backcolor.add(morecolor);
JMenuItem red=new JMenuItem("红色");//","橙","黄","","青","蓝","紫","黑","灰","白","粉红"
JMenuItem green=new JMenuItem("绿色");
JMenuItem yellow=new JMenuItem("黄色");
clear.setFont(a); clear.setForeground(Color.MAGENTA);
paste.setFont(a); paste.setForeground(Color.MAGENTA);
cut.setFont(a); cut.setForeground(Color.MAGENTA);
JMenuItem black=new JMenuItem("黑色");
JMenuItem gray=new JMenuItem("灰色");
JMenuItem white=new JMenuItem("白色");
JMenuItem pink=new JMenuItem("粉红");

java课程设计

java课程设计

课程设计(论文)题目名称记事本程序课程名称java 程序设计课程设计学生姓名学号系、专业指导教师2010年1 月3 日摘要本次课程设计的题目是用JA V A语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。

本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。

记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。

关键词:记事本程序;Java语言;swing组件目录1 问题描述 (3)2 需求分析 (3)3 概要设计 (3)3.1自定义类说明 (3)3.2 程序流程图 (7)4 详细设计 (7)4.1 jishiben类的实现 (7)4.2 GUI程序界面设计 (7)4.3 事件处理 (9)5 测试分析 (12)6 课程设计总结 (16)6.1设计体会 (16)6.2致谢 (16)参考文献 (17)附录(源程序清单) (18)1 问题描述设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。

这次课程设计由卢炜、刘秀春、伍霜霜和我四个人合作完成。

卢炜负责概要设计,刘秀春负责4.1 jishiben类的实现和4.2 GUI程序界面设计,伍霜霜负责5测试分析。

由于4.3事件处理和撰写程序关系密切,这两项都由我负责。

并且根据伍霜霜的测试的结果重新调整程序。

2 需求分析本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。

(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。

Java编写的简单记事本

Java编写的简单记事本
// 替换对话框组件 private JLabel s_findTargetLabel = null;// 查找内容标签 private JTextField s_targetTextField = null;// 输入查找目标的 input private JButton s_findButton = null;// 查找按钮 private JLabel replaceLabel = null;// 查找内容标签 private JTextField replaceTargetTextField = null;// 输入查找目标的 input private JButton replaceButton = null;// 查找按钮 private JLabel nothingLabel_first = null;// 占位标签 first private JLabel nothingLabel_second = null;// 占位标签 second private JButton replaceAllButton = null;// 替换全部 private JCheckBox s_ignoreCaseCheckBox = null;// 区分大小写 private JLabel nothingLabel_third = null;// 占位标签 third private JButton s_cancleFindButton = null;// 取消按钮 private boolean isSearchFind = false;// 是否为"替换"对话框中的"查找下一个"按钮 private boolean isReplaceOne = false;// 是否替换一个 private boolean isRepalceAll = false;// 是否替换全部 private int time = 0;

印象笔记整理java代码

印象笔记整理java代码

印象笔记整理java代码
当使用印象笔记整理Java代码时,可以采取多种方法来组织和
管理代码片段、注释和相关文档。

以下是一些建议和技巧:
1. 创建笔记本和笔记,首先,在印象笔记中创建一个专门用于
存储Java代码的笔记本。

在该笔记本中创建不同的笔记,用于存储
不同类型或功能的Java代码。

2. 使用标签,为了更好地组织和分类Java代码,可以为每个
代码片段或笔记添加标签。

例如,可以添加标签来表示代码的用途、功能或关联的项目名称。

3. 利用笔记标题和目录,在每个笔记中使用清晰明了的标题,
以便快速浏览和查找特定的代码片段。

另外,可以利用笔记的目录
功能来创建一个结构化的代码索引,便于快速导航和查找。

4. 插入代码块,印象笔记支持插入代码块,可以直接粘贴或输
入Java代码,并选择合适的代码语言格式进行展示。

这样可以使代
码片段更易于阅读和理解。

5. 添加注释和解释,在代码片段的上方或旁边添加注释,解释代码的作用、用法、关联的问题或解决方案等。

这有助于他人理解你的代码,并帮助自己回顾和复习。

6. 使用搜索功能,印象笔记提供了强大的搜索功能,可以通过关键词或标签快速定位和查找特定的Java代码片段,因此可以更轻松地管理大量的代码。

总之,在印象笔记中整理Java代码时,建议充分利用笔记本、标签、标题、目录、代码块和注释等功能,以便清晰、有序地管理和展示你的Java代码,同时也方便自己和他人查阅和使用。

希望这些建议能够帮助你更好地整理和管理Java代码。

java课程设计记事本设计报告

java课程设计记事本设计报告

java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。

1.理解Java编程语言的基本语法和结构。

2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。

3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。

4.熟悉Java中的常用类库和方法。

5.能够运用Java编程语言编写简单的程序。

6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。

7.能够分析并解决编程过程中遇到的问题。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。

2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。

3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。

二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。

1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。

–类和对象的概念,封装、继承和多态的原理。

–常用类库和方法的使用。

2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。

–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。

–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。

2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。

3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。

4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。

使用记事本编写java程序进行自我介绍

使用记事本编写java程序进行自我介绍

使用记事本编写java程序进行自我介绍Hi, my name is Emily. I am a computer science student with a passion for coding and problem solving. 你好,我叫Emily。

我是一名对编程和问题解决充满热情的计算机科学学生。

I have always been fascinated by the endless possibilities that programming offers. 从小到大,我一直被编程所带来的无限可能所吸引。

My journey with Java began when I was in high school. I remember the first time I wrote a simple "Hello, World!" program and was amazed at how a few lines of code could produce a message on the screen. 我的Java之旅始于我高中时期。

记得第一次写了一个简单的“Hello, World!”程序时,我被几行代码是如何在屏幕上产生一条消息而震惊。

As I delved deeper into Java, I discovered its versatility and power. Java's object-oriented nature allows for the creation of complex, modular programs, which was incredibly appealing to me. 随着我对Java的深入了解,我发现它的多功能性和强大性。

Java的面向对象的特性允许创建复杂、模块化的程序,这对我来说非常吸引人。

One of my most memorable coding projects was when I developed a Java application for a school project. It was a teamwork project where I collaborated with my classmates, and together we built a program that helped students manage their time and tasks effectively. 我在编码项目中最难忘的经历之一,就是我为学校项目开发一个Java应用程序。

《Java》课程设计》记事本

《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。

(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。

首先是标准型的记事本,拥有文件、编辑。

格式和帮助。

如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。

如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。

如图三所示。

图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。

如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。

如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。

如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。

Java记事本源代码(完整)

Java记事本源代码(完整)

/*** 作品:记事本* 作者:**** 功能:简单的文字编辑*/import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;class NotePad extends JFrame{private JMenuBar menuBar;private JMenu fielMenu,editMenu,formMenu,aboutMenu;private JMenuItemnewMenuItem,openMenuItem,saveMenuItem,exitMenuItem;private JMenuItemcutMenuItem,copyMenuItem,pasteMenuItem,foundItem,replaceItem,s electAll;private JMenuItem font,about;private JTextArea textArea;private JFrame foundFrame,replaceFrame;private JCheckBoxMenuItem wrapline;private JTextField textField1=new JTextField(15);private JTextField textField2=new JTextField(15);private JButton startButton,replaceButton,reallButton;int start=0;String value;File file=null;JFileChooser fileChooser=new JFileChooser();boolean wrap=false;public NotePad(){//创建文本域textArea=new JTextArea();add(new JScrollPane(textArea),BorderLayout.CENTER);//创建文件菜单及文件菜单项fielMenu=new JMenu("文件");fielMenu.setFont(new Font("微软雅黑",0,15));newMenuItem=new JMenuItem("新建",newImageIcon("icons\\new24.gif"));newMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));newMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_N,InputEvent.CTRL_MASK));newMenuItem.addActionListener(listener);openMenuItem=new JMenuItem("打开",newImageIcon("icons\\open24.gif"));openMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));openMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent .VK_O,InputEvent.CTRL_MASK));openMenuItem.addActionListener(listener);saveMenuItem=new JMenuItem("保存",newImageIcon("icons\\save.gif"));saveMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent .VK_S,InputEvent.CTRL_MASK));saveMenuItem.addActionListener(listener);exitMenuItem=new JMenuItem("退出",newImageIcon("icons\\exit24.gif"));exitMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent .VK_E,InputEvent.CTRL_MASK));exitMenuItem.addActionListener(listener);//创建编辑菜单及菜单项editMenu=new JMenu("编辑");editMenu.setFont(new Font("微软雅黑",0,15));cutMenuItem=new JMenuItem("剪切",newImageIcon("icons\\cut24.gif"));cutMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_X,InputEvent.CTRL_MASK));cutMenuItem.addActionListener(listener);copyMenuItem=new JMenuItem("复制",newImageIcon("icons\\copy24.gif"));copyMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent .VK_C,InputEvent.CTRL_MASK));copyMenuItem.addActionListener(listener);pasteMenuItem=new JMenuItem("粘贴",newImageIcon("icons\\paste24.gif"));pasteMenuItem.setFont(new Font("微软雅黑",Font.BOLD,13));pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEven t.VK_V,InputEvent.CTRL_MASK));pasteMenuItem.addActionListener(listener);foundItem=new JMenuItem("查找");foundItem.setFont(new Font("微软雅黑",Font.BOLD,13));foundItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK _F,InputEvent.CTRL_MASK));foundItem.addActionListener(listener);replaceItem=new JMenuItem("替换");replaceItem.setFont(new Font("微软雅黑",Font.BOLD,13));replaceItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_R,InputEvent.CTRL_MASK));replaceItem.addActionListener(listener);selectAll=new JMenuItem("全选");selectAll.setFont(new Font("微软雅黑",Font.BOLD,13));selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK _A,InputEvent.CTRL_MASK));selectAll.addActionListener(listener);//创建格式菜单及菜单项formMenu=new JMenu("格式");formMenu.setFont(new Font("微软雅黑",0,15));wrapline=new JCheckBoxMenuItem("自动换行");wrapline.setFont(new Font("微软雅黑",Font.BOLD,13));wrapline.addActionListener(listener);wrapline.addChangeListener(new ChangeListener() {public void stateChanged(ChangeEvent e) {if(wrapline.isSelected()){textArea.setLineWrap(true);}elsetextArea.setLineWrap(false);}});font=new JMenuItem("字体");font.setFont(new Font("微软雅黑",Font.BOLD,13)); font.addActionListener(listener);//创建关于菜单aboutMenu=new JMenu("关于");aboutMenu.setFont(new Font("微软雅黑",0,15)); about=new JMenuItem("记事本……");about.setFont(new Font("微软雅黑",Font.BOLD,13)); about.addActionListener(listener);//添加文件菜单项fielMenu.add(newMenuItem);fielMenu.add(openMenuItem);fielMenu.add(saveMenuItem);fielMenu.addSeparator();fielMenu.add(exitMenuItem);//添加编辑菜单项editMenu.add(cutMenuItem);editMenu.add(copyMenuItem);editMenu.add(pasteMenuItem);editMenu.add(foundItem);editMenu.add(replaceItem);editMenu.addSeparator();editMenu.add(selectAll);//添加格式菜单项formMenu.add(wrapline);formMenu.add(font);//添加关于菜单项aboutMenu.add(about);//添加菜单menuBar=new JMenuBar();menuBar.add(fielMenu);menuBar.add(editMenu);menuBar.add(formMenu);menuBar.add(aboutMenu);setJMenuBar(menuBar);//创建两个框架,用作查找和替换foundFrame=new JFrame();replaceFrame=new JFrame();//创建两个文本框textField1=new JTextField(15);textField2=new JTextField(15);startButton=new JButton("开始");startButton.addActionListener(listener);replaceButton=new JButton("替换为");replaceButton.addActionListener(listener);reallButton=new JButton("全部替换");reallButton.addActionListener(listener);}//创建菜单项事件监听器ActionListener listener=new ActionListener() {public void actionPerformed(ActionEvent e) {String name=e.getActionCommand();if(e.getSource() instanceof JMenuItem){if("新建".equals(name)){textArea.setText("");file=null;}if("打开".equals(name)){if(file!=null){fileChooser.setSelectedFile(file);}intreturnVal=fileChooser.showOpenDialog(NotePad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=fileChooser.getSelectedFile();}try{FileReader reader=new FileReader(file);int len=(int)file.length();char[] array=new char[len];reader.read(array,0,len);reader.close();textArea.setText(new String(array));}catch(Exception e_open){e_open.printStackTrace();}}}if("保存".equals(name)){if(file!=null){fileChooser.setSelectedFile(file);}intreturnVal=fileChooser.showSaveDialog(NotePad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=fileChooser.getSelectedFile();}try{FileWriter writer=new FileWriter(file);writer.write(textArea.getText());writer.close();}catch (Exception e_save) {e_save.getStackTrace();}}if("退出".equals(name)){System.exit(0);}if("剪切".equals(name)){textArea.cut();}if("复制".equals(name)){textArea.copy();}if("粘贴".equals(name)){textArea.paste();}if("查找".equals(name)){value=textArea.getText();foundFrame.add(textField1,BorderLayout.CENTER);foundFrame.add(startButton,BorderLayout.SOUTH);foundFrame.setLocation(300,300);foundFrame.setTitle("查找");foundFrame.pack();foundFrame.setVisible(true);foundFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE );}if("替换".equals(name)){value=textArea.getText();JLabel label1=new JLabel("查找内容:");JLabel label2=new JLabel("替换为:");JPanel panel1=new JPanel();panel1.setLayout(new GridLayout(2,2));JPanel panel2=new JPanel();panel2.setLayout(new GridLayout(1,3));replaceFrame.add(panel1,BorderLayout.NORTH);replaceFrame.add(panel2,BorderLayout.CENTER);panel1.add(label1);panel1.add(textField1);panel1.add(label2);panel1.add(textField2);panel2.add(startButton);panel2.add(replaceButton);panel2.add(reallButton);replaceFrame.setTitle("替换");replaceFrame.setLocation(300,300);replaceFrame.pack();replaceFrame.setVisible(true);replaceFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLO SE);}if("开始".equals(name)||"下一个".equals(name)){String temp=textField1.getText();int s=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){textArea.setSelectionStart(s);textArea.setSelectionEnd(s+temp.length());textArea.setSelectedTextColor(Color.GREEN);start=s+1;startButton.setText("下一个");}else {JOptionPane.showMessageDialog(foundFrame, "查找完毕!", "提示", 0,new ImageIcon("icons\\search.gif"));foundFrame.dispose();}}if("替换为".equals(name)){String temp=textField1.getText();int s=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){textArea.setSelectionStart(s);textArea.setSelectionEnd(s+temp.length());textArea.setSelectedTextColor(Color.GREEN);start=s+1;textArea.replaceSelection(textField2.getText());}else {JOptionPane.showMessageDialog(foundFrame, "查找完毕!", "提示", 0,new ImageIcon("icons\\search.gif"));foundFrame.dispose();}}if("全部替换".equals(name)){String temp=textArea.getText();temp=temp.replaceAll(textField1.getText(),textField2.getTex t());textArea.setText(temp);}if("全选".equals(name)){textArea.selectAll();}if("字体".equals(name)){FontDialog fontDialog=newFontDialog(NotePad.this);fontDialog.setVisible(true);if(textArea.getFont()!=fontDialog.getFont()){textArea.setFont(fontDialog.getFont());}}if("记事本……".equals(name)){AboutDialog aboutDialog=newAboutDialog(NotePad.this);aboutDialog.setVisible(true);}}};//创建字体设置对话面板,并添加相应事件监听器class FontDialog extends JDialog implements ItemListener, ActionListener, WindowListener{public JCheckBox Bold=new JCheckBox("Bold",false);public JCheckBox Italic=new JCheckBox("Italic",false);public List Size,Name;public int FontName;public int FontStyle;public int FontSize;public JButton OK=new JButton("OK");public JButton Cancel=new JButton("Cancel");public JTextArea Text=new JTextArea("字体预览文本域\n0123456789\nAaBbCcXxYyZz");public FontDialog(JFrame owner) {super(owner,"字体设置",true);GraphicsEnvironmentg=GraphicsEnvironment.getLocalGraphicsEnvironment();String name[]=g.getAvailableFontFamilyNames();Name=new List();Size=new List();FontName=0;FontStyle=0;FontSize=8;int i=0;Name.add("Default Value");for(i=0;i<name.length;i++)Name.add(name[i]);for(i=8;i<257;i++)Size.add(String.valueOf(i));this.setLayout(null);this.setBounds(250,200,480, 306);this.setResizable(false);OK.setFocusable(false);Cancel.setFocusable(false);Bold.setFocusable(false);Italic.setFocusable(false);Name.setFocusable(false);Size.setFocusable(false);Name.setBounds(10, 10, 212, 259);this.add(Name);Bold.setBounds(314, 10, 64, 22);this.add(Bold);Italic.setBounds(388, 10, 64, 22);this.add(Italic);Size.setBounds(232, 10, 64, 259);this.add(Size);Text.setBounds(306, 40, 157, 157);this.add(Text);OK.setBounds(306, 243, 74, 26);this.add(OK);Cancel.setBounds(390, 243, 74, 26);this.add(Cancel);Name.select(FontName);Size.select(FontSize);Text.setFont(getFont());Name.addItemListener(this);Size.addItemListener(this);Bold.addItemListener(this);Italic.addItemListener(this);OK.addActionListener(this);Cancel.addActionListener(this);this.addWindowListener(this);}public void itemStateChanged(ItemEvent e) {Text.setFont(getFont());}public void actionPerformed(ActionEvent e) {if(e.getSource()==OK){FontName=Name.getSelectedIndex();FontStyle=getStyle();FontSize=Size.getSelectedIndex();this.setVisible(false);}else cancel();}public void windowClosing(WindowEvent e) {cancel();}public Font getFont(){if(Name.getSelectedIndex()==0) return new Font("新宋体",getStyle(),Size.getSelectedIndex()+8);else return newFont(Name.getSelectedItem(),getStyle(),Size.getSelectedIndex() +8);}public void cancel(){Name.select(FontName);Size.select(FontSize);setStyle();Text.setFont(getFont());this.setVisible(false);}public void setStyle(){if(FontStyle==0 || FontStyle==2)Bold.setSelected(false);else Bold.setSelected(true);if(FontStyle==0 || FontStyle==1)Italic.setSelected(false);else Italic.setSelected(true);}public int getStyle(){int bold=0,italic=0;if(Bold.isSelected()) bold=1;if(Italic.isSelected()) italic=1;return bold+italic*2;}public void windowActivated(WindowEvent arg0) {}public void windowClosed(WindowEvent arg0) {}public void windowDeactivated(WindowEvent arg0) {}public void windowDeiconified(WindowEvent arg0) {}public void windowIconified(WindowEvent arg0) {}public void windowOpened(WindowEvent arg0) {} }//创建关于对话框class AboutDialog extends JDialog implements ActionListener{ public JButton OK,Icon;public JLabel Name,Version,Author,Java;public JPanel Panel;AboutDialog(JFrame owner) {super(owner,"关于",true);OK=new JButton("OK");Icon=new JButton(new ImageIcon("icons\\edit.gif"));Name=new JLabel("Notepad");Version=new JLabel("Version 1.0");Java=new JLabel("JRE Version 6.0");Author=new JLabel("Copyright (c) 11-5-2012 By Jianmin Chen");Panel=new JPanel();Color c=new Color(0,95,191);Name.setForeground(c);Version.setForeground(c);Java.setForeground(c);Author.setForeground(c);Panel.setBackground(Color.white);OK.setFocusable(false);this.setBounds(250,200,280, 180);this.setResizable(false);this.setLayout(null);Panel.setLayout(null);OK.addActionListener(this);Icon.setFocusable(false);Icon.setBorderPainted(false);Author.setFont(new Font(null,Font.PLAIN,11));Panel.add(Icon);Panel.add(Name);Panel.add(Version);Panel.add(Author);Panel.add(Java);this.add(Panel);this.add(OK);Panel.setBounds(0, 0, 280, 100);OK.setBounds(180, 114, 72, 26);Name.setBounds(80, 10, 160, 20);Version.setBounds(80, 27, 160, 20);Author.setBounds(15, 70, 250, 20);Java.setBounds(80, 44, 160, 20);Icon.setBounds(16, 14, 48, 48);}public void actionPerformed(ActionEvent e) { this.setVisible(false);}}}//创建记事本public class ChenJianmin {public static void main(String[] args){EventQueue.invokeLater(new Runnable() {public void run() {NotePad notePad=new NotePad();notePad.setTitle("记事本");notePad.setVisible(true);notePad.setBounds(100,100,800,600);notePad.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}});}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.awt.*;import javax.swing.*;import java.awt.event.*;import ng.String;import java.io.*;public class JA V AEdit extends JFrame {JTextArea jta;private JFrame frame;JPopupMenu pop = new JPopupMenu();//定义快捷菜单用private JComboBox combox, combox1;//组合框,获取系统字体使用private JToolBar toolbar;//定义工具栏private JComboBox sizes, sizes1; // 字号组合框private JDialog dialog; //定义查找时所用窗体private JTextField textField;//输入时的文本框private FileDialog filedialog;private JOptionPane optionpane;//关于时输出对话框boolean flag=false;Font font = new Font("楷书", Font.BOLD, 16); // 储存字体String filename= "",name; //文件名// ***************************************构造函数public JA V AEdit() {frame = new JFrame("JA V A代码编译器- [无标题] ");jta = new JTextArea("", 100, 30); // 构建一个开始为空,默认100行,30列JScrollPane jsp = new JScrollPane(jta);JMenuBar jmb = new JMenuBar();JMenu mFile = new JMenu("文件");JMenu mEdit = new JMenu("编辑");JMenu mForm = new JMenu("格式");JMenu mFind = new JMenu("查找");JMenu mHelp=new JMenu("帮助");//******************************************************************************* *工具栏GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment();String[] fontname = g.getAvailableFontFamilyNames(); // 获取系统字体combox = new JComboBox(fontname); // 组合框获取系统字体toolbar = new JToolBar();toolbar.setFloatable(true); // 设置窗口的浮动String size[] = { "20", "30", "40", "50", "60", "70" };sizes = new JComboBox(size); // 字号组合框sizes.setEditable(true); // 设置组合框可编辑JButton news = new JButton(new ImageIcon("images/new.gif"));news.setToolTipText("新建");JButton open = new JButton(new ImageIcon("images/open.gif"));open.setToolTipText("打开");JButton save = new JButton(new ImageIcon("images/save.gif"));save.setToolTipText("保存");JButton cut = new JButton(new ImageIcon("images/cut.gif"));cut.setToolTipText("剪切");JButton copy = new JButton(new ImageIcon("images/copy.gif"));copy.setToolTipText("复制");JButton paste = new JButton(new ImageIcon("images/paste.gif"));paste.setToolTipText("粘贴");toolbar.add(news);toolbar.add(open);toolbar.add(save);toolbar.add(cut);toolbar.add(copy);toolbar.add(paste);toolbar.add(combox);toolbar.add(sizes);frame.getContentPane().add(toolbar, BorderLayout.NORTH);news.addActionListener(new newl());open.addActionListener(new openl());save.addActionListener(new savel());cut.addActionListener(new cutl());copy.addActionListener(new copyl());paste.addActionListener(new pastel());sizes.addActionListener(new listener());combox.addActionListener(new listener());//*****************************************************************************鼠标快捷键String pop1[] = { "剪切", "复制", "粘贴", "全选" };JMenuItem pops[] = new JMenuItem[pop1.length];for (int j = 0; j < pops.length; j++) {pops[j] = new JMenuItem(pop1[j]);pop.add(pops[j]);if(j<3){pop.addSeparator();}}pop.setPopupSize(120, 150); // 设置快捷菜单的大小jta.addMouseListener(new pops1());pops[0].addActionListener(new cutl());pops[1].addActionListener(new copyl());pops[2].addActionListener(new pastel());pops[3].addActionListener(new selectl());// **************************************************文件菜单的设定JMenuItem mNew = new JMenuItem("新建", KeyEvent.VK_N);mNew.addActionListener(new newl());mFile.add(mNew);JMenuItem mOpen = new JMenuItem("打开", KeyEvent.VK_O);mOpen.addActionListener(new openl());mFile.add(mOpen);JMenuItem mSave = new JMenuItem("保存");mSave.addActionListener(new savel());mFile.add(mSave);mFile.addSeparator(); // 添加分割线JMenuItem mExit = new JMenuItem("退出");mExit.addActionListener(new exitl());mFile.add(mExit);mFile.setMnemonic(KeyEvent.VK_F);// ***********************************************编辑菜单的子菜单的处理JMenuItem jmi;jmi = new JMenuItem("复制");jmi.addActionListener(new copyl());mEdit.add(jmi);jmi = new JMenuItem("剪切");jmi.addActionListener(new cutl());mEdit.add(jmi);jmi = new JMenuItem("粘贴");jmi.addActionListener(new pastel());mEdit.add(jmi);mEdit.addSeparator(); // 添加分割线jmi = new JMenuItem("全选");jmi.addActionListener(new selectl());mEdit.add(jmi);// *******************************************处理格式菜单JMenuItem jmf;jmf = new JMenuItem("字体");jmf.addActionListener(new word1());mForm.add(jmf);// *******************************************查找菜单JMenuItem mfind=new JMenuItem("查找");mfind.addActionListener(new find1());mFind.add(mfind);// ******************************************关于菜单JMenuItem mHelps=new JMenuItem("关于");mHelps.addActionListener(new helpl());mHelp.add(mHelps);// **********************************************************jmb.add(mFile);jmb.add(mEdit);jmb.add(mForm);jmb.add(mFind);jmb.add(mHelp);jta.add(pop); //把右键快捷栏加入frame.setJMenuBar(jmb);frame.getContentPane().add(jsp);frame.setSize(850, 700);frame.setVisible(true);}// ****************************************************//各个事件的监听class newl implements ActionListener {public void actionPerformed(ActionEvent e) {jta.setText("");}}class openl implements ActionListener // 打开文件的监听{public void actionPerformed(ActionEvent e) {JFileChooser jf = new JFileChooser();int result=jf.showOpenDialog(null);if(result==JFileChooser.APPROVE_OPTION){File f=jf.getSelectedFile();char c[]=new char[(int)f.length()]; //lengthy()用来获得文件的长度try{BufferedReader in=new BufferedReader(new FileReader(f));//文件输入流从字符输入流中读取文本in.read(c);in.close();}catch(FileNotFoundException fn){System.out.println("没有找到文件");jf.setVisible(false);}catch(IOException io){jf.setVisible(false);}String str=new String(c);jta.setText(str);jta.setCaretPosition(0); //设置打开文件后光标的位置如果不设置则默认为文件底部filename=jf.getCurrentDirectory()+jf.getSelectedFile().getName(); //创建文件名if(!filename.equals("nullnull"))frame.setTitle("Java编辑器- ["+filename+"]"); //设置窗口名*/}}}class savel implements ActionListener //保存文件的监听{public void actionPerformed(ActionEvent e){if(filename.equals("")||filename.equals("nullnull"))//文件未保存过时{filedialog=new FileDialog(frame,"保存",FileDialog.SA VE);filedialog.setVisible(true);try{String str=jta.getText();File f=new File(filedialog.getDirectory()+filedialog.getFile());filename=filedialog.getDirectory()+filedialog.getFile(); //文件名BufferedWriter out=new BufferedWriter(new FileWriter(f)); //文件输出流out.write(str,0,str.length());out.close();}catch(FileNotFoundException fn){System.out.println("没有选择文件");filedialog.setVisible(false);}catch(IOException io){filedialog.setVisible(false);}}else{try {String str=jta.getText();File f=new File(filename);BufferedWriter out=new BufferedWriter(new FileWriter(f));out.write(str,0,str.length());out.close();}catch(FileNotFoundException fn){System.out.println("没有选择文件");filedialog.setVisible(false);}catch(IOException io){filedialog.setVisible(false);}}if(!filename.equals("nullnull"))frame.setTitle("Java编辑器- ["+filename+"]");flag=false;}}class exitl implements ActionListener // 退出记事本的监听{public void actionPerformed(ActionEvent e) {System.exit(0);}}class copyl implements ActionListener // 拷贝的监听{public void actionPerformed(ActionEvent e) {jta.copy();}}class pastel implements ActionListener // 粘贴的监听{public void actionPerformed(ActionEvent e) {jta.paste();}}class cutl implements ActionListener // 剪切的监听{public void actionPerformed(ActionEvent e) {jta.cut();}}class find1 implements ActionListener // 查找的监听{public void actionPerformed(ActionEvent e) {dialog = new JDialog(frame, "查找", false);dialog.setLayout(new BorderLayout());dialog.setLocation(550, 200);dialog.setSize(300, 130);dialog.setVisible(true);Label label = new Label("输入你要查找的内容");textField = new JTextField(8);Panel panel1 = new Panel();panel1.add(label);Panel panel2 = new Panel();panel2.add(textField);JButton a1, a2;a1 = new JButton("确定");a2 = new JButton("取消");Panel panel3 = new Panel();panel3.add(a1);panel3.add(a2);dialog.add(panel1, BorderLayout.NORTH);dialog.add(panel2, BorderLayout.CENTER);dialog.add(panel3, BorderLayout.SOUTH);a1.addActionListener(new a11());a2.addActionListener(new a21());}}class word1 implements ActionListener // 字体选项的监听{public void actionPerformed(ActionEvent e) {GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();String[] fontnames = ge.getAvailableFontFamilyNames(); // 获取系统字体combox1 = new JComboBox(fontnames); // 组合框获取系统字体String size1[] = { "10", "20", "30", "40", "50", "60" };sizes1 = new JComboBox(size1); // 字号组合框sizes1.setEditable(false); // 设置组合框可编辑dialog = new JDialog(frame, "字体", false); // 字体选择对话框dialog.setSize(300, 150);dialog.setLocation(550, 200);dialog.setVisible(true);dialog.setLayout(new BorderLayout());Panel panel1 = new Panel();panel1.add(combox1);panel1.add(sizes1);combox1.addActionListener(new listener());sizes1.addActionListener(new listener());dialog.add(panel1, BorderLayout.CENTER); // 将组合框添加到窗口Panel panel2 = new Panel();JButton b1, b2;b1 = new JButton("确定");b2 = new JButton("取消");panel2.add(b1);panel2.add(b2);dialog.add(panel2, BorderLayout.SOUTH); // 将面板添加到窗口b1.addActionListener(new b11());b2.addActionListener(new a21());}}class pops1 implements MouseListener // 快捷栏的监听{public void mouseClicked(MouseEvent m) {if (m.getModifiers() == MouseEvent.BUTTON3_MASK)// 当鼠标按下右键时// MouseEvent.BUTTON2_MASK// 表示左键pop.show(jta, m.getX(), m.getY()); // 在单击处显示快捷菜单}public void mousePressed(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}}class selectl implements ActionListener // 对全选进行监听{public void actionPerformed(ActionEvent e) {int end = jta.getText().length();jta.setSelectionStart(0);jta.setSelectionEnd(end);}}class listener implements ActionListener // 对字体和大小进行监听{public void actionPerformed(ActionEvent e) {int s = 16;String name = (String) combox.getSelectedItem();s = Integer.parseInt((String) sizes.getSelectedItem());jta.setFont(new Font(name, Font.BOLD, s));}}class a11 implements ActionListener // 查找选项中的确定监听{public void actionPerformed(ActionEvent e) {if (textField.getText().equals(""))dialog.setVisible(false);else {String search = jta.getText();int start = search.indexOf(textField.getText());int end = start + textField.getText().length();jta.select(start, end);dialog.setVisible(false);}}}class a21 implements ActionListener // 取消按钮的监听{public void actionPerformed(ActionEvent e) {dialog.setVisible(false);}}class b11 implements ActionListener // 字体设置中的确定监听{public void actionPerformed(ActionEvent e) {Font fonts = jta.getFont();if (fonts != font)jta.setFont(font);dialog.setVisible(false);}}class helpl implements ActionListener // 关于的监听{public void actionPerformed(ActionEvent e) {optionpane.showMessageDialog(frame,"版权属于我们1&2小组");}}// ***********************************************主函数,程序入口点public static void main(String s[]) {new JA V AEdit();}}。

相关文档
最新文档