网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用java编写的记事本程序(1)     
  文章作者:未知  文章来源:水木森林  
  查看:88次  录入:管理员--2007-11-17  
 
  这个学期,我们学习了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
//------------------------------------------------------

/*************************************************
*------------
 
 
上一篇: 用java编写asp组件    下一篇: 用java编写的记事本程序(2)
  相关文档
j2me游戏开发中如何使用层的概念 11-17
用java设计防病毒的电子邮件程序 11-16
java语言中对hashmap的深度分析与比较 11-16
用jsp定制标签创建丰富的超连接(二) 11-17
最简单的hibernate入门简介 11-17
最佳实践:勿在 servlet 中实现 singlethreadmodel 11-17
java基础类概述 11-17
使用技巧:java swing中的键盘事件处理 11-16
运用bitset类来处理一系列选项 11-17
java套接字实现网络编程之基础篇 11-17
用java开发corba应用实例 11-17
java中向方法传参数只有传值一种! 11-17
在java中实现sql的select函数功能 11-17
成员函数的重载 11-17
jsf,为什么把简单的事情复杂化? 11-17
实现java与c语言接口步骤 11-17
db2 j2ee开发成本收益分析(三) 11-17
关于可扩展的web架构设计的探索-框架结构的描述文件 11-17
纯java应用程序连接数据库的方法 11-17
使用ejb 3.0简化企业级java开发一 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息