中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 用户界面
用Java编写的记事本程序(1)
作者:佚名 时间:2006-09-21 08:11 出处:天新网 责编:月夜寒箫
              摘要:用Java编写的记事本程序(1)

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

//------------------------------------------------------


/*************************************************

*------------------------------------------------

* PopupMenuItem

*------------------------------------------------

*************************************************/

/*

* pundo

**/

JMenuItem pundo=new JMenuItem("撤销(U)");

pundo.addActionListener(new Pop_undo_actionAdapter(this));

pundo.setMnemonic(´U´);

pundo.setAccelerator(KeyStroke.getKeyStroke(´U´,java.awt.Event.CTRL_MASK,true));


/*

* pcut

**/

JMenuItem pcut=new JMenuItem("剪切(X)");

pcut.addActionListener(new Pop_cut_actionAdapter(this));

pcut.setMnemonic(´X´);

pcut.setAccelerator(KeyStroke.getKeyStroke(´X´,java.awt.Event.CTRL_MASK,true));


/*

* pcopy

**/

JMenuItem pcopy=new JMenuItem("复制(C)");

pcopy.addActionListener(new Pop_copy_actionAdapter(this));

pcopy.setMnemonic(´C´);

pcopy.setAccelerator(KeyStroke.getKeyStroke(´C´,java.awt.Event.CTRL_MASK,true));


/*

* ppaste

**/

JMenuItem ppaste=new JMenuItem("粘贴(V)");

ppaste.addActionListener(new Pop_paste_actionAdapter(this));

ppaste.setMnemonic(´V´);

ppaste.setAccelerator(KeyStroke.getKeyStroke(´V´,java.awt.Event.CTRL_MASK,true));


/*

*pdelete

**/

JMenuItem pdelete=new JMenuItem("删除(D)");

pdelete.addActionListener(new Pop_delete_actionAdapter(this));

pdelete.setMnemonic(´D´);

pdelete.setAccelerator(KeyStroke.getKeyStroke(´D´,java.awt.Event.CTRL_MASK,true));


////////

///////////// text////////////////////////////////////////

text.setDoubleBuffered(false);

text.setToolTipText("杨勇的记事本");

text.setVerifyInputWhenFocusTarget(true);

text.setText("");


text.addCaretListener(new Jsb_text_caretAdapter(this));

text.addMouseListener(new Jsb_text_mouseAdapter(this));

text.addAncestorListener(new Jsb_text_ancestorAdapter(this));


//////////////////////////////////////////////////////////

Mbar.add(jFile);

Mbar.add(jEdit);

Mbar.add(jFormat);

Mbar.add(jHelp);


jFile.add(jnew);

jFile.add(jopen);

jFile.addSeparator();

jFile.add(jsave);

jFile.add(jsaveas);

jFile.addSeparator();

jFile.add(jquite);


jEdit.add(jundo);

jEdit.addSeparator();

jEdit.add(jcut);

jEdit.add(jcopy);

jEdit.add(jpaste);

jEdit.add(jdelete);

jEdit.addSeparator();

jEdit.add(jfind);

jEdit.add(jreplace);

jEdit.addSeparator();

jEdit.add(jselectall);

jEdit.add(jdate);


jFormat.add(jword);

jFormat.addSeparator();

jFormat.add(jfont);

jFormat.addSeparator();

jFormat.add(jcolor);


jHelp.add(jabout);


pop.add(pundo);

pop.addSeparator();

pop.add(pcut);

pop.add(pcopy);

pop.add(ppaste);

pop.add(pdelete);


frame.setVisible(true);


}

/************************************************************

//////////////////////Event/////////////////////////////////

**************************************************************

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有