java做的简易记事本含快捷键查找替换等.docx
- 文档编号:25488508
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:37
- 大小:449.58KB
java做的简易记事本含快捷键查找替换等.docx
《java做的简易记事本含快捷键查找替换等.docx》由会员分享,可在线阅读,更多相关《java做的简易记事本含快捷键查找替换等.docx(37页珍藏版)》请在冰豆网上搜索。
java做的简易记事本含快捷键查找替换等
这是一个简易记事本,仿制windows记事本的,包括文件(新建,打开,保存,另存为,退出),编辑(查找,替换),格式(换行,字体颜色),帮助,在文本框点击鼠标右键,显示撤销,复制,剪切,粘贴,全选等功能,另外还添加了部分快捷键功能,由于做的功能不全,可能会有些缺点,请大家批评指正
packagelwz;
importjava.awt.Button;
importjava.awt.Color;
importjava.awt.Component;
importjava.awt.Dialog;
importjava.awt.Event;
importjava.awt.Font;
importjava.awt.Frame;
importjava.awt.GraphicsEnvironment;
importjava.awt.Label;
importjava.awt.TextArea;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.KeyEvent;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.awt.event.WindowListener;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JCheckBox;
importjavax.swing.JColorChooser;
importjavax.swing.JComboBox;
importjavax.swing.JFileChooser;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPopupMenu;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
importjavax.swing.KeyStroke;
importjavax.swing.SwingUtilities;
importjavax.swing.UIManager;
importjavax.swing.WindowConstants;
importjavax.swing.undo.UndoManager;
importlwz2.FontSlectDemo;
importorg.dyno.visual.swing.layouts.Bilateral;
importorg.dyno.visual.swing.layouts.Constraints;
importorg.dyno.visual.swing.layouts.GroupLayout;
//VS4E--DONOTREMOVETHISLINE!
publicclass记事本extendsJFrame{
privatestaticfinallongserialVersionUID=1L;
privateJMenuItemjMenuItem0;
privateJMenuItemjMenuItem1;
privateJMenuItemjMenuItem2;
privateJMenuItemjMenuItem3;
privateJMenuItemjMenuItem4;
privateJMenujMenu0;
privateJMenuItemjMenuItem5;
privateJMenuItemjMenuItem6;
privateJMenuItemjMenuItem7;
privateJMenuItemjMenuItem8;
privateJMenuItemjMenuItem9;
privateJMenuItemjMenuItem10;
privateJMenuItemjMenuItem11;
privateJMenujMenu1;
privateJMenuItemjMenuItem12;
privateJMenuItemjMenuItem13;
privateJMenujMenu2;
privateJMenuItemjMenuItem14;
privateJMenujMenu3;
privateJMenuBarjMenuBar0;
privateJTextAreajTextArea0;
privateJScrollPanejScrollPane0;
privatestaticfinalStringPREFERRED_LOOK_AND_FEEL="javax.swing.plaf.metal.MetalLookAndFeel";
privatestaticbooleanflag=false;//判断是否保存
JTextFieldfindtxt,findtxt1,repltxt;//find为查找对话框的输入文本区,replace对话框的输入文本区
Dialogfind,replace,typeface;//find为查找对话框,replace对话框
Stringstr,strnext,fname=null,path;
intstartp,endp,nexttemp,newstartp,newendp;
privateJPopupMenutext=newJPopupMenu();
JButtonreplb=newJButton();
JFrameframe=newJFrame();
UndoManagerum=newUndoManager();
Filenewfiles;
JFileChooserchoose=newJFileChooser();//文件对话框
public记事本(){
initComponents();
text.add(jMenuItem5);
text.add(jMenuItem6);
text.add(jMenuItem7);
text.add(jMenuItem8);
text.add(jMenuItem9);
jTextArea0.add(text);
//注册监听
jTextArea0.getDocument().addUndoableEditListener(um);
NewListenern=newNewListener();
jMenuItem0.addActionListener(n);
ImageIconnewfile=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/snew.gif");//添加按钮图标
jMenuItem0.setIcon(newfile);
KeyStrokekeynew=KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK);//定义快捷键
jMenuItem0.setAccelerator(keynew);
OpenListenero=newOpenListener();
jMenuItem1.addActionListener(o);
ImageIconopenfile=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/sopen.GIF");
jMenuItem1.setIcon(openfile);
KeyStrokekeyopen=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK);//定义快捷键
jMenuItem1.setAccelerator(keyopen);
SaveListeners=newSaveListener();
jMenuItem2.addActionListener(s);
ImageIconsavea=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/ssave.gif");
jMenuItem2.setIcon(savea);
KeyStrokekeysave=KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK);//定义快捷键
jMenuItem2.setAccelerator(keysave);
SaveToListeners1=newSaveToListener();
jMenuItem3.addActionListener(s1);
ImageIconsaveb=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/ssave.gif");
jMenuItem3.setIcon(saveb);
KeyStrokekeysave1=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK);//定义快捷键
jMenuItem3.setAccelerator(keysave1);
ExitListenere=newExitListener();
jMenuItem4.addActionListener(e);
ImageIconexit=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/sexit.gif");
jMenuItem4.setIcon(exit);
KeyStrokekeyexit=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);//定义快捷键
jMenuItem4.setAccelerator(keyexit);
RevokeListenerr=newRevokeListener();
jMenuItem5.addActionListener(r);
KeyStrokekeyrevoke=KeyStroke.getKeyStroke(KeyEvent.VK_Z,Event.CTRL_MASK);//定义快捷键
jMenuItem5.setAccelerator(keyrevoke);
CutListenerc=newCutListener();
jMenuItem6.addActionListener(c);
ImageIconcut=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/scut.gif");
jMenuItem6.setIcon(cut);
KeyStrokekeycut=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);
jMenuItem6.setAccelerator(keycut);
CopyListenerc1=newCopyListener();
jMenuItem7.addActionListener(c1);
ImageIconcopy=newImageIcon("images/scopy.gif");
jMenuItem7.setIcon(copy);
KeyStrokekeycopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);
jMenuItem7.setAccelerator(keycopy);
PasteListenerp=newPasteListener();
jMenuItem8.addActionListener(p);
ImageIconpaste=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/spaste.gif");
jMenuItem8.setIcon(paste);
KeyStrokekeypaste=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);
jMenuItem8.setAccelerator(keypaste);
SelectAllListeners2=newSelectAllListener();
jMenuItem9.addActionListener(s2);
KeyStrokekeyselectall=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK);
jMenuItem9.setAccelerator(keyselectall);
ReplacementListenerr1=newReplacementListener();
jMenuItem10.addActionListener(r1);
KeyStrokekeyreplace=KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK);
jMenuItem10.setAccelerator(keyreplace);
SearchListeners3=newSearchListener();
jMenuItem11.addActionListener(s3);
KeyStrokekeysearch=KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK);
jMenuItem11.setAccelerator(keysearch);
WrapListenerw=newWrapListener();
jMenuItem12.addActionListener(w);
TypefaceListenert=newTypefaceListener();
jMenuItem13.addActionListener(t);
AboutListenera=newAboutListener();
jMenuItem14.addActionListener(a);
ImageIconabout=newImageIcon("C:
/DocumentsandSettings/user/桌面/Myjava4/images/sabout.gif");
jMenuItem14.setIcon(about);
jTextArea0.addMouseListener(newhandlemouse(this));//注册鼠标右击事件
jTextArea0.setFont(newFont("宋体",Font.PLAIN,30));
}
//处理右键弹出菜单类
classhandlemouseextendsMouseAdapter
{
记事本note;
handlemouse(记事本note1)
{note=note1;}
publicvoidmouseReleased(MouseEventn)
{
if(n.isPopupTrigger())
note.text.show((Component)n.getSource(),n.getX(),n.getY());
}
}
//撤销
privateclassRevokeListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
jMenuItem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,ActionEvent.CTRL_MASK));
if(um.canUndo()){
um.undo();
}
}
}
//字体
privateclassTypefaceListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
//new字体();
JColorChooserjColor=newJColorChooser();//调用颜色面板,设置前景就可更改字体颜色
Colorfcolor=jTextArea0.getForeground();
jTextArea0.setForeground(jColor.showDialog(jTextArea0,"选择字体颜色",fcolor));
}
}
//换行
privateclassWrapListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
jTextArea0.setLineWrap(true);//激活自动换行功能
jTextArea0.setWrapStyleWord(true);//激活断行不断字功能
jMenuItem12.setEnabled(false);
}}
//查找
classSearchListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
//创建查找对话框;
find=newDialog(frame,"查找");
JPanelp1=newJPanel();
JPanelp2=newJPanel();
findtxt1=newJTextField(7);
JButtonfindenter=newJButton("查找");
JButtonfind1=newJButton("查找下一个");
JButtonQuxiao=newJButton("取消");
p1.add(newJLabel("输入要查找字符:
"));
p1.add(findtxt1);
p2.add(findenter);
p2.add(find1);
p2.add(Quxiao);
FindListenerf=newFindListener();
findenter.addActionListener(f);
FindNextListenerf1=newFindNextListener();
find1.addActionListener(f1);
//KeyStrokekeyfind=KeyStroke.getKeyStroke(KeyEvent.VK_F3,0);
//find1.setAccelerator(keyfind);
QuxiaoListenerq=newQuxiaoListener();
Quxiao.addActionListener(q);
find.add("Center",p1);
find.add("South",p2);
find.setSize(300,200);
find.show();
}
}
//查找下一个
privateclassFindNextListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(findtxt1.getText().equals(""))
{JOptionPane.showMessageDialog(jMenu0,"请输入要查找的内容");}
elseif(!
findtxt1.getText().equals(""))
{
nexttemp=newendp;/////获取上次查找的终点做为未查找字符串的起点
Stringstrall=jTextArea0.getText();
jTextArea0.select(nexttemp,strall.length());/////选中所有未查找的字符串
strnext=jTextArea0.getSelectedText();
newstartp=strne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 简易 记事本 快捷键 查找 替换