java 简单记事本编辑设计 5Word格式.docx
《java 简单记事本编辑设计 5Word格式.docx》由会员分享,可在线阅读,更多相关《java 简单记事本编辑设计 5Word格式.docx(14页珍藏版)》请在冰点文库上搜索。
源码
//importjava.awt.FileDialog;
//importjava.awt.event.ActionEvent;
//importjava.awt.event.ActionListener;
importjava.awt.event.*;
importjava.awt.*;
//importjava.awt.event.KeyEvent;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.nio.file.*;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjavax.swing.*;
publicclassNotePadDemoextendsJFrameimplementsActionListener{
JMenuBarmenubar;
JMenumenu1,menu2,menu3,menu4,menu5;
JMenuItemitem1,item2,item3,item4,item5,item6,item7,item8,item9,item10;
JTextAreaarea;
publicNotePadDemo(){
}
publicNotePadDemo(Strings,intx,inty,inth,intw){
this.setTitle(s);
menubar=newJMenuBar();
menu1=newJMenu("
文件"
);
menu2=newJMenu("
编辑"
menu3=newJMenu("
格式"
menu4=newJMenu("
关于"
item1=newJMenuItem("
新建"
item2=newJMenuItem("
打开"
item3=newJMenuItem("
保存"
item4=newJMenuItem("
退出"
item1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
menu1.add(item1);
menu1.add(item2);
menu1.add(item3);
menu1.addSeparator();
menu1.add(item4);
item5=newJMenuItem("
剪切"
item5.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
area.cut();
}
});
item6=newJMenuItem("
复制"
item6.addActionListener(newActionListener(){
area.copy();
item7=newJMenuItem("
粘贴"
item7.addActionListener(newActionListener(){
area.paste();
//粘贴
item8=newJMenuItem("
查找"
item9=newJMenuItem("
替换"
item8.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
finalJDialogdialog=newJDialog(NotePadDemo.this,"
查找字符串..."
true);
dialog.setBounds(560,250,310,130);
JLabelfind=newJLabel("
请输入字符串:
"
finalJTextFieldfindtext=newJTextField
(1);
JButtonjbu=newJButton("
dialog.setLayout(null);
find.setBounds(10,30,90,20);
findtext.setBounds(100,30,90,20);
jbu.setBounds(200,30,80,20);
dialog.add(find);
dialog.add(findtext);
dialog.add(jbu);
jbu.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringtext=area.getText();
Stringstr=findtext.getText();
intend=text.length();
intlen=str.length();
intstart=area.getSelectionEnd();
if(start==end){
start=0;
for(;
start<
=end-len;
start++){
if(text.substring(start,start+len).equals(str)){
area.setSelectionStart(start);
area.setSelectionEnd(start+len);
return;
//若找不到待查字符串,则将光标置于末尾
area.setSelectionStart(end);
area.setSelectionEnd(end);
});
dialog.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
dialog.dispose();
});
dialog.setResizable(false);
dialog.setVisible(true);
}
item9.addActionListener(newActionListener(){
字符串替换..."
dialog.setBounds(560,250,310,180);
finalJLabeltihuan=newJLabel("
请输入要替换的字符串:
JLabelmubiao=newJLabel("
请输入替换后的字符串:
JTextFieldjtf1=newJTextField(10);
JTextFieldjtf2=newJTextField(10);
JButtonjb=newJButton("
tihuan.setBounds(10,30,150,20);
mubiao.setBounds(10,70,150,20);
jtf1.setBounds(160,30,110,20);
jtf2.setBounds(160,70,110,20);
jb.setBounds(100,110,80,20);
dialog.add(tihuan);
dialog.add(mubiao);
dialog.add(jtf1);
dialog.add(jtf2);
dialog.add(jb);
finalStringtext=area.getText();
finalStringstr1=tihuan.getText();
finalStringstr2=mubiao.getText();
jb.addActionListener(newActionListener(){
if(area.getSelectedText().equals(tihuan.getText())){
area.replaceRange(str2,area.getSelectionStart(),area.getSelectionEnd());
else{
intend=text.length();
intlen=str1.length();
intstart=area.getSelectionEnd();
if(start==end)start=0;
for(;
if(text.substring(start,start+len).equals(str1)){
area.setSelectionStart(start);
area.setSelectionEnd(start+len);
return;
//若找不到待查字符串,则将光标置于末尾
area.setSelectionStart(end);
area.setSelectionEnd(end);
dialog.setResizable(false);
dialog.setVisible(true);
item10=newJMenuItem("
全选"
item10.addActionListener(newActionListener(){
area.selectAll();
item5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
item7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
item8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
item9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
item10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
menu2.add(item5);
menu2.add(item6);
menu2.add(item7);
menu2.add(item8);
menu2.add(item9);
menu2.addSeparator();
menu2.add(item10);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menu4);
this.setJMenuBar(menubar);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
item9.addActionListener(this);
item10.addActionListener(this);
area=newJTextArea(6,12);
area.setForeground(Color.WHITE);
area.setBackground(Color.BLACK);
area.setFont(newFont("
微软雅黑"
Font.PLAIN,24));
area.setLineWrap(true);
this.add(newJScrollPane(area));
this.setLocation(x,y);
this.setSize(w,h);
this.setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
publicstaticvoidmain(String[]args){
NotePadDemojsb=newNotePadDemo("
记事本"
50,50,500,600);
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(e.getSource()==item1){
area.setText("
if(e.getSource()==item2){
JFileChooserchoose=newJFileChooser();
choose.setDialogTitle("
Filefile;
intresult=choose.showOpenDialog(NotePadDemo.this);
if(result==JFileChooser.APPROVE_OPTION){
area.setText("
try{
file=choose.getSelectedFile();
StringpathStr=file.getPath();
byte[]b=Files.readAllBytes(Paths.get(pathStr));
//FileReaderfr=newFileReader(file);
//System.out.println("
encoding:
"
+fr.getEncoding());
//char[]ch=null;
//fr.read(ch);
Stringstr=null;
if(b!
=null)str=newString(b,"
UTF-8"
if(str!
=null)area.setText(str);
//BufferedReaderbr=newBufferedReader(fr);
//Stringstr=null;
//while((str=br.readLine())!
=null){
//area.append(str+"
\r\n"
//
//}
//设置记事本标题
setTitle(file.getName()+"
记事本"
//br.close();
}catch(Exceptionee){
ee.printStackTrace();
}
if(e.getSource()==item3){
if(area.getText()!
=null&
&
!
area.getText().equals("
)){
JFileChooserchoose=newJFileChooser();
intresult=choose.showSaveDialog(NotePadDemo.this);
if(result==JFileChooser.APPROVE_OPTION){
Filefile;
try{
file=choose.getSelectedFile();
BufferedWriterbw=newBufferedWriter(newFileWriter(file));
bw.write(area.getText());
bw.close();
}catch(IOExceptione1){
e1.printStackTrace();
}
}
截图
成绩
指导教师
日期
注:
请用A4纸书写,不够另附纸。
第 页,共 页