用Java编写的记事本程序(1)

2016-02-19 20:05 17 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享用Java编写的记事本程序(1)的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

这个学期,我们学习了Java编程,期末之时老师要我们编个记事本作为这门课程的课程设计,我写了一个,大体上的功能都实现了,只有"撤销"的功能没有实现,请各位大虾指点一下,“撤销”的算法,不甚感激!
  特将记事本的源码附下,请大家指点,看还有没有更简洁高效的算法,请不要吝啬,我的E-mail:yangyong@ccsu.cn,欢迎大家来信指点!
  
  /*
  *
  *题目:记事本程序
  *Author: Jeason
  *
  * 2004-12-20
  *
  **/
  package jeason;
  
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax.swing.event.*;
  import java.io.*;
  import java.util.*;
  import java.text.*;
  
  public class Jsb{
  
  ///
  boolean dirty=true;
  String filename="";
  String strtext="";
  
  
  ///////////////////////////////////
  ////////// Menu ////////////////
  ///////////////////////
  
  JFrame frame=new JFrame("我的记事本");
  JPopupMenu pop=new JPopupMenu("弹出");
  JTextArea text=new JTextArea();
  JLabel statubar=new JLabel("状态栏");
  JMenuBar Mbar=new JMenuBar();
  JFileChooser jFileChooser1=new JFileChooser();
  
  JColorChooser jColor=new JColorChooser();
  
  JMenu jFile=new JMenu("文件");
  JMenu jEdit=new JMenu("编辑");
  JMenu jFormat=new JMenu("格式");
  JMenu jHelp=new JMenu("帮助");
  
  JMenuItem jnew=new JMenuItem("新建(N)");
  
  public Jsb(){ ///无参数的构造函数
  
  ///
  this.dirty=false;
  /////
  
  final BorderLayout borderLayout1=new BorderLayout();
  
  frame.setSize(600,500);//
  frame.addWindowListener(new Jsb_frame_closingAdapter(this));
  
  JPanel panel=new JPanel();
  panel.setLayout(borderLayout1);//布局
  panel.add(new JScrollPane(text));//滚动条
  panel.add(statubar,borderLayout1.SOUTH);
  
  
  frame.getContentPane().add(panel);
  //
  frame.setJMenuBar(Mbar); //将主菜单添加到窗体中
  
  /*
  * jnew
  **/
  //jnew
  jnew.addActionListener(new File_new_actionAdapter(this));
  jnew.setMnemonic(´N´);//N上下划线
  jnew.setAccelerator(KeyStroke.getKeyStroke(´N´,java.awt.Event.CTRL_MASK,true));
  //快捷方式
  
  /*
  * jopen
  **/
  JMenuItem jopen=new JMenuItem("打开(O)");//jopen
  jopen.addActionListener(new File_open_actionAdapter(this));
  jopen.setMnemonic(´O´);
  jopen.setAccelerator(KeyStroke.getKeyStroke(´O´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jsave
  **/
  JMenuItem jsave=new JMenuItem("保存(S)");
  jsave.addActionListener(new File_save_actionAdapter(this));
  jsave.setMnemonic(´S´);
  jsave.setAccelerator(KeyStroke.getKeyStroke(´S´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jsave as
  **/
  JMenuItem jsaveas=new JMenuItem("另存为...");
  jsaveas.addActionListener(new File_saveas_actionAdapter(this));
  /*
  * jquite
  **/
  
  JMenuItem jquite=new JMenuItem("关闭(Q)");
  jquite.addActionListener(new File_quite_actionAdapter(this));
  jquite.setMnemonic(´Q´);
  
   jquite.setAccelerator(KeyStroke.getKeyStroke(´Q´,java.awt.Event.CTRL_MASK,true));
  
  //------------------------------------
  // jFile code of end
  //--------------------------------------
  
  /**
  * jEdit code
  */
  //jundo
  JMenuItem jundo=new JMenuItem("撤销(U)");
  jundo.addActionListener(new Edit_undo_actionAdapter(this));
  jundo.setMnemonic(´U´);
  jundo.setAccelerator(KeyStroke.getKeyStroke(´U´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jcut
  **/
  JMenuItem jcut=new JMenuItem("剪切(X)");
  jcut.addActionListener(new Edit_cut_actionAdapter(this));
  jcut.setMnemonic(´X´);
  jcut.setAccelerator(KeyStroke.getKeyStroke(´X´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jcopy
  **/
  JMenuItem jcopy=new JMenuItem("复制(C)");
  jcopy.addActionListener(new Edit_copy_actionAdapter(this));
  jcopy.setMnemonic(´C´);
  jcopy.setAccelerator(KeyStroke.getKeyStroke(´C´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jpaste
  **/
  JMenuItem jpaste=new JMenuItem("粘贴(V)");
  jpaste.addActionListener(new Edit_paste_actionAdapter(this));
  jpaste.setMnemonic(´V´);
  jpaste.setAccelerator(KeyStroke.getKeyStroke(´V´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jdelete
  **/
  JMenuItem jdelete=new JMenuItem("删除(D)");
  jdelete.addActionListener(new Edit_delete_actionAdapter(this));
  jdelete.setMnemonic(´D´);
  jdelete.setAccelerator(KeyStroke.getKeyStroke(´D´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jfind
  **/
  JMenuItem jfind=new JMenuItem("查找(F)");
  jfind.addActionListener(new Edit_find_actionAdapter(this));
  jfind.setMnemonic(´F´);
  jfind.setAccelerator(KeyStroke.getKeyStroke(´F´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jreplace
  **/
  JMenuItem jreplace=new JMenuItem("替换(R)");
  jreplace.addActionListener(new Edit_replace_actionAdapter(this));
  jreplace.setMnemonic(´R´);
  jreplace.setAccelerator(KeyStroke.getKeyStroke(´R´,java.awt.Event.CTRL_MASK,true));
  
  /*
  *jselectall
  **/
  JMenuItem jselectall=new JMenuItem("全选(A)");
  jselectall.addActionListener(new Edit_selectall_actionAdapter(this));
  jselectall.setMnemonic(´A´);
  jselectall.setAccelerator(KeyStroke.getKeyStroke(´A´,java.awt.Event.CTRL_MASK,true));
  
  /*
  * jdate
  **/
  JMenuItem jdate=new JMenuItem("日期/时间(T)");
  jdate.addActionListener(new Edit_timedate_actionAdapter(this));
  jdate.setMnemonic(´T´);
  jdate.setAccelerator(KeyStroke.getKeyStroke(´T´,java.awt.Event.CTRL_MASK,true));
  
  
  
  
  //------------------------------
  // jEdit code of end
  //
  //-----------------------------
  
  /*
  * jWord
  
   **/
  JMenuItem jword=new JMenuItem("自动换行");
  jword.addActionListener(new Format_word_actionAdapter(this));
  
  /*
  * jfont
  **/
  JMenuItem jfont=new JMenuItem("字体..");
  jfont.addActionListener(new Format_font_actionAdapter(this));
  
  /*
  * jcolor
  **/
  JMenuItem jcolor=new JMenuItem("颜色...");
  jcolor.addActionListener(new Format_color_actionAdapter(this));
  
  
  
  //--------------------------------------------------
  // jFormat code of end
  //--------------------------------------------------
  
  /*
  * jabout
  **/
  JMenuItem jabout=new JMenuItem("关于作者(A)");
  jabout.addActionListener(new Help_about_actionAdapter(this));
  jabout.setMnemonic(´A´);
  jabout.setAccelerator(KeyStroke.getKeyStroke(´A´,java.awt.Event.CTRL_MASK,true));
  
  //-------------------------------------------------
  // jHelp code of end
  //------------------------------------------------------
  
  /*************************************************
  *------------

来源:https://www.tulaoshi.com/n/20160219/1622709.html

延伸阅读
标签: Delphi
  当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作。 很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些...
标签: 浏览器
傲游浏览器记事本怎么用?   傲游浏览器记事本怎么用?新版的傲游浏览器新增在线记事本,有了在线记事本我们就可以方便记录自己每天的工作以及保存在工作中需要保存的重要文件了,下面我们来学下傲游在线笔记本用法。 傲游浏览器记事本怎么用 傲游在线笔记本用法 第一步:打开傲游浏览器,在浏览器的右上角的工具栏上找到向...
1.新建一个记事本,取名最好是英文与数字的组合(这是一个站长必须养成的好习惯)。 2.打开该记事本,将特效内容粘贴进去,然后按菜单上的“文件→另存为”,保存类型选择“所有文件”,然后给网页改个名比如uu.html。 3.不要关闭记事本,用IE打开uu.html直接查看效果。 这样做的好处是显而易见的,当我们觉得网页特效的效果不佳需要修改的话...
乐记事记事本怎么添加星标   乐记事记事本添加星标方法。在乐记事里面添加了记事,比较重要但是怕忘记了事情?没关系,可以给记事本添加星标,那么要怎么添加星标呢?现在小编就教大家乐记事记事本添加星标方法。 1)点击打开,点击打开要添加星标的日记; 2)点击右上角的,然后点击即可。
方形邮票自然地版面分区 比如左边贴了一张邮票后,就自动生成一块空白。当然也可以写满。我的用法是页面自动分成两栏,邮票右边就是主要的文字,左侧的空白则可以用来写一些小批注等,或者先不写也可以,因为我喜欢留出空白给以后回顾手帐的时候写东西。 一套邮票贴在一起 一套邮票一般是有整体性的,比如色彩、图案风格等等,...

经验教程

231

收藏

75
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部