网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.探索空类的应用和性能分支.
.JDK1.4新特性之I/O APIs篇.
.[JAVA100例]070、使用JDOM解析XML.
.Java 应用程序中的按值传递语义以.
.开发环境的配置.
.灵活使用EJB的本地和远程接口(二).
.谈谈如何保证测试代码的正确性.
.MVC 构架学习之渐行渐进(四).
.Java学习之道.
.如何让JBuilder9支持Struts 1.1.
.用PMD自动执行Java代码静态分析.
.Apache的完全安装转载.
.Java初学者讲堂:JavaBean简易入.
.SCJP模拟题104道.
.JADT 入门,第 2 部分.
.Thinking in Java第三版读书笔记.
.J2EE应用中,提升数据访问层的性能.
.[JAVA]Panel 嵌入ScrollPane.
.如何在 vim 中更好的编辑 java 文.
.JAVA编程中异常问题处理方式的区.

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

发表日期:2008-1-5


这个学期,我们学习了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
//------------------------------------------------------

/*************************************************
*------------
上一篇:用Flash远程调用增强J2EE表示层 人气:747
下一篇:Jboss4.x下第一个EJB2.x程序 人气:681
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐