下面是个用Java编写的记事本程序教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
【 tulaoshi.com - 编程语言 】
这个学期,我们学习了Java编程,期末之时老师要我们编个记事本作为这门课程的课程设计,我写了一个,大体上的功能都实现了,只有"撤销"的功能没有实现,请各位大虾指点一下,撤销的算法,不甚感激!
特将记事本的源码附下,请大家指点,看还有没有更简洁高效的算法,请不要吝啬,我的E-mail:yangyong@ccsu.cn,欢迎大家来信指点!
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
/*(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
*
*题目:记事本程序
*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/////////////////////////////////
**************************************************************/
public void frame_windowclose_windowClosing(WindowListener e){
this.close();
}
/////////////////////////////////////////////////////////
public void text_mouseClicked(MouseEvent e){
if(e.getModifiers()==InputEvent.BUTTON3_MASK){
pop.show((Component)e.getSource(),e.getX(),e.getY());
}
}
public void text_ancestorAdded(AncestorEvent e){
this.dirty=false;
this.newtext();
}
public void text_caretUpdate(CaretEvent e)
{
this.dirty=true;
//this.statubar.setText(this.text.getText());
}
///////////// File /////////////////////////////////////
public void File_open_actionPerformed(ActionEvent e){
//打开的事件
this.opentext();
}
public void File_new_actionPerformed(ActionEvent e){
///新建的事件
this.newtext();
}
public void File_save_actionPerformed(ActionEvent e){
//保存的事件
this.save();
}
public void File_saveas_actionPerformed(ActionEvent e){
//另存为
this.saveas();
}
public void File_quite_actionPerformed(ActionEvent e){
this.close();
}
////////////////// Edit /////////////////////////////////////
public void Edit_undo_actionPerformed(ActionEvent e){
//撤销
this.undo();
}
public void Edit_cut_actionPerformed(ActionEvent e){
//剪切
this.cut();
}
public void Edit_copy_actionPerformed(ActionEvent e){
//复制
this.copy();
}
public void Edit_paste_actionPerformed(ActionEvent e){
//粘贴
this.paste();
}
public void Edit_delete_actionPerformed(ActionEvent e){
//删除
this.delete();
}
public void Edit_find_actionPerformed(ActionEvent e){
//查找
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
FindDlg fd=new FindDlg(frame,"查找",true);
fd.show();
String str=fd.getFindStr().trim();
if(fd.getFlag()){
this.nextFindStr(str,cu,end);
}else{
this.upFindStr(str,cu);
}
}
public void Edit_replace_actionPerformed(ActionEvent e){
//替换
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
ReplaceDlg rd=new ReplaceDlg(frame,"替换",true);
rd.show();
this.replaceStr(rd.findStr().trim(),rd.replaceStr().trim(),cu,end);
}
public void Edit_selectall_actionPerformed(ActionEvent e){
//全选
this.text.setSelectionStart(0);
this.text.setSelectionEnd(this.text.getText().length());
}
public void Edit_timedate_actionPerformed(ActionEvent e){
//时间日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.text.append("rn当前时间:"+sdf.format(new Date()));
}
///////////// Format//////////////////////////////////////
public void Format_word_actionPerformed(ActionEvent e){
//自动换行
if(!this.text.getLineWrap()){
this.text.setLineWrap(true);
}
else{
this.text.setLineWrap(false);
}
}
public void Format_font_actionPerformed(ActionEvent e){
//字体"常规","斜体","粗体","粗斜体"
Font cur=this.text.getFont();
int type=Font.BOLD;
FontSet fs=new FontSet(frame,"字体设置",true);
fs.show();
if(fs.flag){
switch(fs.font2()){
case 0:type=Font.PLAIN;break;
case 1:type=Font.ITALIC;break;
case 2:type=Font.BOLD; break;
case 3:type=Font.ROMAN_BASELINE;break;
default:type=Font.PLAIN;break;
}
Font f=new Font(fs.font1(),type,16);
this.text.setFont(f);
}else{
this.text.setFont(cur);
}
}
public void Format_color_actionPerformed(ActionEvent e){
// 颜色
Color current=this.text.getForeground();
this.jColor.setColor(current);
this.text.setForeground(
this.jColor.showDialog(text,"选择颜色",current));
}
//////////////////// Help /////////////////////////////////////
public void Help_about_actionPerformed(ActionEvent e){
//关于作者
new AboutDlg();
}
////////////////////////////////////////////////////////
public void pop_undo_actionPerformed(ActionEvent e){
//Pop undo
this.undo();
}
public void pop_cut_actionPerformed(ActionEvent e){
//pop cut
this.cut();
}
public void pop_copy_acionPerformed(ActionEvent e){
//pop copy
this.copy();
}
public void pop_paste_actionPerformed(ActionEvent e){
//pop paste
this.paste();
}
public void pop_delete_actionPerformed(ActionEvent e){
//pop delete
this.delete();
}
/************************************************************
/////////////////////////////////////////////////////////////
////////////// coustm function ///////////////////////////////
/////////////////////////////////////////////////////////////
************************************************************/
void close(){
if(this.dirty){
Dlgtext Dt=new Dlgtext(frame,"提示",true);
Dt.show();
if(Dt.getCheck()){
this.save();
}
else {
frame.dispose();
System.exit(0);
}
}else{
frame.dispose();
System.exit(0);
}
}
void newtext(){//新建
if((!this.dirty)||(!this.saveas())){
this.text.setText("");
this.text.setFocusable(true);
this.frame.setTitle("未命名-----Author:Jeason");
this.statubar.setText("新建文本");
}
else this.saveas();
}
void opentext(){//打开
//
String strFileOpen="";
if(!this.dirty){
try{
if(this.jFileChooser1.APPROVE_OPTION==
this.jFileChooser1.showOpenDialog(frame)){
strFileOpen=this.jFileChooser1.getSelectedFile().getPath();
File file=new File(strFileOpen);
int flength=(int)file.length();
int num=0;
FileReader fReader=new FileReader(file);
char[] data=new char[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
this.text.setText(new String(data,0,num));
this.filename=strFileOpen;
this.frame.setTitle(this.filename);
this.statubar.setText("Open File:"+this.filename);
this.dirty=false;
}else
{
return ;
}
}catch(Exception e){
this.statubar.setText("Error Open:"+e.getMessage());
}
}else{
this.save();
}
}
boolean save(){//保存
if(this.dirty){
if(this.filename.length()!=0){
try{
File saveFile=new File(this.filename);
FileWriter fw=new FileWriter(saveFile);
fw.write(this.text.getText());
fw.close();
this.dirty=false;
this.statubar.setText("保存文件:"+this.filename);
return true;
}catch(Exception e)
{
this.statubar.setText("保存出错: "+e.getMessage());
return false;
}
}else{
return this.saveas();
}
}else{
return true;
}
}
boolean saveas(){//另存为
if(this.jFileChooser1.APPROVE_OPTION==this.jFileChooser1.showSaveDialog(frame)){
this.filename=this.jFileChooser1.getSelectedFile().getPath();
return this.save();
}else{
return false;
}
}
void undo(){
//undo
}
void cut(){
//cut
try{
String str=this.text.getSelectedText();
if(str.length()!=0){
this.strtext=str;
this.text.replaceRange("",this.text.getSelectionStart(),this.text.getSelectionEnd());
this.dirty=true;
}
}catch(Exception ex){
this.statubar.setText("剪切出错:"+ex.getMessage());
}
}
void copy(){
//copy
try{
String str=this.text.getSelectedText();
if(str.length()!=0){
this.strtext=str;
}
}catch(Exception ex)
{
this.statubar.setText("复制出错!"+ex.getMessage());
}
}
void paste(){
//paste
if(this.strtext.length()0){
this.text.insert(this.strtext,this.text.getCaretPosition());
this.dirty=true;
}
}
void delete(){
//delete
this.text.replaceRange("",this.text.getSelectionStart(),this.text.getSelectionEnd());
this.dirty=true;
}
void nextFindStr(String str,int cur,int end){
if(curend){
this.statubar.setText("没有找到!");
}
else{
int i=this.text.getText().indexOf(str);
if(i=0){
this.text.setSelectionStart(i);
this.text.setSelectionEnd(i+str.length());
this.statubar.setText("已经在:"+i+" 位置找到!");
}
else{
nextFindStr(str,++cur,end);
}
}
}
void upFindStr(String str,int cur){
if(cur0){
this.statubar.setText("没有找到!");
}else{
int i=this.text.getText().lastIndexOf(str);
if(i=0){
this.text.setSelectionStart(i);
this.text.setSelectionEnd(i+str.length());
this.statubar.setText("已经在:"+i+" 位置找到!");
}else{
upFindStr(str,--cur);
}
}
}
void replaceStr(String findStr,String replaceStr,int cur,int end){
if(curend){
this.statubar.setText("没有找到!");
}else{
int i=this.text.getText().indexOf(findStr);
if(i0){
this.text.setSelectionStart(i);
this.text.setSelectionEnd(i+findStr.length());
this.text.replaceRange(replaceStr,this.text.getSelectionStart(),this.text.getSelectionEnd());
}else{
replaceStr(findStr,replaceStr,++cur,end);
}
}
}
/*------------------------------------------------
*
* main
*
*-----------------------------------------------
*/
public static void main(String[] args){
Jsb jsb1=new Jsb();
}
}
/************************************************************
///////////////////////// Event class ///////////////////////
**************************************************************/
class Jsb_frame_closingAdapter extends java.awt.event.WindowAdapter{
Jsb adaptee;
Jsb_frame_closingAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void windowClosing(WindowListener e){
adaptee.frame_windowclose_windowClosing(e);
}
}
///////////////////////////////////////////////////////////
class Jsb_text_mouseAdapter extends java.awt.event.MouseAdapter{
Jsb adaptee;
Jsb_text_mouseAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void mouseClicked(MouseEvent e){
adaptee.text_mouseClicked(e);
}
}
class Jsb_text_ancestorAdapter implements javax.swing.event.AncestorListener{
Jsb adaptee;
Jsb_text_ancestorAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void ancestorAdded(AncestorEvent e){
adaptee.text_ancestorAdded(e);
}
public void ancestorRemoved(AncestorEvent e){
}
public void ancestorMoved(AncestorEvent e){
}
}
class Jsb_text_caretAdapter implements javax.swing.event.CaretListener{
Jsb adaptee;
Jsb_text_caretAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void caretUpdate(CaretEvent e){
adaptee.text_caretUpdate(e);
}
}
///////////////////////////////////////////////////////////
class File_open_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
File_open_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.File_open_actionPerformed(e);
}
}
class File_new_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
File_new_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.File_new_actionPerformed(e);
}
}
class File_save_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
File_save_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.File_save_actionPerformed(e);
}
}
class File_saveas_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
File_saveas_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.File_saveas_actionPerformed(e);
}
}
class File_quite_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
File_quite_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.File_quite_actionPerformed(e);
}
}
//////////////////////////////////////////////////////////////
class Edit_undo_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_undo_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_undo_actionPerformed(e);
}
}
class Edit_cut_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_cut_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_cut_actionPerformed(e);
}
}
class Edit_copy_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_copy_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_copy_actionPerformed(e);
}
}
class Edit_paste_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_paste_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_paste_actionPerformed(e);
}
}
class Edit_delete_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_delete_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_delete_actionPerformed(e);
}
}
class Edit_find_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_find_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_find_actionPerformed(e);
}
}
class Edit_replace_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_replace_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_replace_actionPerformed(e);
}
}
class Edit_selectall_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_selectall_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_selectall_actionPerformed(e);
}
}
class Edit_timedate_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Edit_timedate_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Edit_timedate_actionPerformed(e);
}
}
/////////////////////////////////////////////////////////////
class Format_word_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Format_word_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Format_word_actionPerformed(e);
}
}
class Format_font_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Format_font_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Format_font_actionPerformed(e);
}
}
class Format_color_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Format_color_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Format_color_actionPerformed(e);
}
}
///////////////////////////////////////////////////////////////
class Help_about_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Help_about_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.Help_about_actionPerformed(e);
}
}
///////////////////////////////////////////////////////////
class Pop_undo_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Pop_undo_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.pop_undo_actionPerformed(e);
}
}
class Pop_cut_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Pop_cut_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.pop_cut_actionPerformed(e);
}
}
class Pop_copy_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Pop_copy_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.pop_copy_acionPerformed(e);
}
}
class Pop_paste_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Pop_paste_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.pop_paste_actionPerformed(e);
}
}
class Pop_delete_actionAdapter implements java.awt.event.ActionListener{
Jsb adaptee;
Pop_delete_actionAdapter(Jsb adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.pop_delete_actionPerformed(e);
}
}
/******************* Event class end **********************************/
/*************************************************************
* title: DlgText.java
* author: jeason
* date: 2004-12-21
**************************************************************/
package jeason;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Dlgtext extends JDialog{
private boolean check=false;
JLabel text=new JLabel( );
JButton btnOk=new JButton( );
JButton btnNo=new JButton( );
FlowLayout flowLayout1=new FlowLayout();
Dlgtext(){
this(null,"",false);
}
Dlgtext(Frame frame, String title, boolean modal){
super(frame,title,modal);
text.setText(" 你要保存吗? ");
text.setSize(200,60);
this.setSize(200,80);
this.setModal(true);
btnOk.setText("确定(Y)");
btnOk.setMnemonic(´Y´);
btnOk.setSize(100,20);
btnOk.addActionListener(new btnOk_actionAdapter(this));
btnNo.setText("取消(N)");
btnNo.setMnemonic(´N´);
btnNo.setSize(100,20);
btnNo.addActionListener(new btnNo_actionAdapter(this));
this.getContentPane().setLayout(flowLayout1);
this.getContentPane().add(text,flowLayout1);
this.getContentPane().add(btnOk,flowLayout1);
this.getContentPane().add(btnNo,flowLayout1);
}
void btnOk_actionPerformed(ActionEvent e){
this.check=true;
this.dispose();
this.hide();
}
void btnNo_actionPerformed(ActionEvent e){
this.check=false;
this.dispose();
this.hide();
}
public boolean getCheck(){
return this.check;
}
}
class btnOk_actionAdapter implements java.awt.event.ActionListener{
Dlgtext adaptee;
btnOk_actionAdapter(Dlgtext adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnOk_actionPerformed(e);
}
}
class btnNo_actionAdapter implements java.awt.event.ActionListener{
Dlgtext adaptee;
btnNo_actionAdapter(Dlgtext adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnNo_actionPerformed(e);
}
}
/******************************************************
*-----------------------------------------------------
* FindDlg.java
* jeason
* 04-12-23 2:19
*-----------------------------------------------------
*****************************************************/
package jeason;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FindDlg extends JDialog{
private String findstr;
private boolean flag=true;
JLabel findText=new JLabel("查找内容");
JTextField strText=new JTextField(" ");
JButton btnNext=new JButton( );
JButton btnUp=new JButton( );
FlowLayout flowLayout1=new FlowLayout();
FindDlg(Frame frame,String title, boolean modal){
super(frame,title,modal);
this.setTitle("查找");
this.setSize(200,90);
this.setModal(true);
findText.setText(" 查找内容 ");
findText.setSize(70,60);
strText.setText(" ");
strText.setSize(130,60);
btnNext.setText("向下查找");
btnNext.setSize(100,40);
btnNext.addActionListener(new btnNext_actionAdapter(this));
btnUp.setText("向上查找");
btnUp.setSize(100,40);
btnUp.addActionListener(new btnUp_actionAdapter(this));
this.getContentPane().setLayout(flowLayout1);
this.getContentPane().add(this.findText,flowLayout1);
this.getContentPane().add(this.strText,flowLayout1);
this.getContentPane().add(this.btnNext,flowLayout1);
this.getContentPane().add(this.btnUp,flowLayout1);
}
FindDlg(){
this(null,"",false);
}
public void btnNext_actionPerformed(ActionEvent e){
this.findstr=this.strText.getText();
this.flag=true;
this.dispose();
}
public void btnUp_actionPerformed(ActionEvent e){
this.findstr=this.strText.getText();
this.flag=false;
this.dispose();
}
public String getFindStr(){
return this.findstr;
}
public boolean getFlag(){
return this.flag;
}
}
class btnNext_actionAdapter implements java.awt.event.ActionListener{
FindDlg adaptee;
btnNext_actionAdapter(FindDlg adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnNext_actionPerformed(e);
}
}
class btnUp_actionAdapter implements java.awt.event.ActionListener{
FindDlg adaptee;
btnUp_actionAdapter(FindDlg adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnUp_actionPerformed(e);
}
}
/******************************************************
*-----------------------------------------------------
* FontSet.java
* jeason
* 04-12-23 2:19
*-----------------------------------------------------
*****************************************************/
package jeason;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FontSet extends JDialog{
//JPanel panel1 = new JPanel();
private String font1="";
JLabel txtStr=new JLabel("请选择字体");
JLabel txt2=new JLabel("请选择字型");
List list1 = new List(3,false);
List list2 = new List(3,false);
JButton btnOk=new JButton("确定");
JButton btnNo=new JButton("撤销");
FlowLayout flowLayout1=new FlowLayout();
boolean flag=true;
int type;
FontSet(Frame frame,String title,boolean modal){
this.setTitle("字体设置");
this.setSize(200,230);
this.setModal(true);
txtStr.setSize(100,60);
list1.setSize(100,60);
list1.setMultipleMode(false);
this.txt2.setSize(100,60);
list2.setSize(100,60);
btnOk.setMnemonic(´Y´);
btnOk.setSize(100,20);
btnOk.addActionListener(new btnOk_actionAdapter(this));
//btnNo.setText("取消(N)");
btnNo.setMnemonic(´N´);
btnNo.setSize(100,20);
btnNo.addActionListener(new btnNo_actionAdapter(this));
///////////// Font //////////////////////////////////
GraphicsEnvironment gl=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontName[]=gl.getAvailableFontFamilyNames();
// int fontX[]={Font.BOLD,Font.ITALIC,Font.PLAIN};
for(int i=0;ifontName.length;i++){
list1.add(fontName[i]);
}
String fontx[]={"常规","斜体","粗体","粗斜体"};
for(int i=0;ifontx.length;i++){
list2.add(fontx[i]);
}
list1.select(0);
list2.select(0);
///////////////////////////////////////////////
this.getContentPane().setLayout(flowLayout1);
this.getContentPane().add(txtStr,flowLayout1);
this.getContentPane().add(list1,flowLayout1);
this.getContentPane().add(this.txt2,flowLayout1);
this.getContentPane().add(this.list2,flowLayout1);
this.getContentPane().add(btnOk,flowLayout1);
this.getContentPane().add(btnNo,flowLayout1);
}
FontSet(){
this(null,"",false);
}
void btnOk_actionPerformed(ActionEvent e){
this.flag=true;
this.font1=this.list1.getSelectedItem();
this.type=this.list2.getSelectedIndex();
this.dispose();
}
void btnNo_actionPerformed(ActionEvent e){
this.flag=false;
this.dispose();
}
public String font1(){
return this.font1;
}
public int font2(){
return this.type;
}
}
class btnOk_actionAdapter implements java.awt.event.ActionListener{
FontSet adaptee;
btnOk_actionAdapter(FontSet adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnOk_actionPerformed(e);
}
}
class btnNo_actionAdapter implements java.awt.event.ActionListener{
FontSet adaptee;
btnNo_actionAdapter(FontSet adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btnNo_actionPerformed(e);
}
}
/**************************************************************
*-------------------------------------------------------------
* ReplaceDlg.java
* jeason
* 04-12-23
*-------------------------------------------------------------
**************************************************************/
package jeason;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ReplaceDlg extends JDialog{
private String findStr="",replaceStr="";
///////////////////////////////////////
JLabel txt1=new JLabel("查找:");
JLabel txt2=new JLabel("替换为:");
JTextField txtFind=new JTextField(" ");
JTextField txtReplace=new JTextField(" ");
JButton btn=new JButton("替换");
FlowLayout flowLayout1=new FlowLayout();
ReplaceDlg(Frame frame,String title,boolean modal){
super(frame,title,modal);
this.setTitle("替换为");
this.setSize(200,90);
this.setModal(true);
txt1.setSize(40,60);
txt2.setSize(40,60);
txtFind.setSize(50,60);
txtReplace.setSize(50,60);
btn.setSize(200,20);
btn.addActionListener(new btn_actionAdapter(this));
this.getContentPane().setLayout(flowLayout1);
this.getContentPane().add(txt1,flowLayout1);
this.getContentPane().add(this.txtFind,flowLayout1);
this.getContentPane().add(this.txt2,flowLayout1);
this.getContentPane().add(this.txtReplace,flowLayout1);
this.getContentPane().add(this.btn,flowLayout1);
}
ReplaceDlg(){
this(null,"",false);
}
public void btn_actionPerformed(ActionEvent e){
this.findStr=this.txtFind.getText();
this.replaceStr=this.txtReplace.getText();
this.dispose();
}
public String findStr(){
return this.findStr;
}
public String replaceStr(){
return this.replaceStr;
}
}
class btn_actionAdapter implements java.awt.event.ActionListener{
ReplaceDlg adaptee;
btn_actionAdapter(ReplaceDlg adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e){
adaptee.btn_actionPerformed(e);
}
}
/*********************************************
*------------------------------------------
* AboutDlg.java
* jeason
*----------------------------------------------
*********************************************/
package jeason;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class AboutDlg extends JFrame{
JLabel text=new JLabel("");
JLabel bar=new JLabel("");
final BorderLayout borderLayout1=new BorderLayout();
AboutDlg(){
super();
this.setSize(300,150);
this.setTitle("~关于作者~");
text.setText("本记事本作者:杨勇rnrn"+"E-mail:yangyong@ccsu.cnrn");
bar.setText("本软件由JCreator 2.5开发");
JPanel jPanel=new JPanel();
jPanel.setLayout(borderLayout1);
jPanel.add(text,borderLayout1.CENTER);
jPanel.add(bar,borderLayout1.SOUTH);
this.getContentPane().add(jPanel);
this.setVisible(true);
}
}
来源:http://www.tulaoshi.com/n/20160219/1612110.html
看过《用Java编写的记事本程序》的人还看了以下文章 更多>>