java 简单记事本编辑设计 5.docx

上传人:b****4 文档编号:12221041 上传时间:2023-04-17 格式:DOCX 页数:14 大小:44.37KB
下载 相关 举报
java 简单记事本编辑设计 5.docx_第1页
第1页 / 共14页
java 简单记事本编辑设计 5.docx_第2页
第2页 / 共14页
java 简单记事本编辑设计 5.docx_第3页
第3页 / 共14页
java 简单记事本编辑设计 5.docx_第4页
第4页 / 共14页
java 简单记事本编辑设计 5.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

java 简单记事本编辑设计 5.docx

《java 简单记事本编辑设计 5.docx》由会员分享,可在线阅读,更多相关《java 简单记事本编辑设计 5.docx(14页珍藏版)》请在冰豆网上搜索。

java 简单记事本编辑设计 5.docx

java简单记事本编辑设计5

GDOU-B-11-112

广东海洋大学学生实验报告书(学生用表)

实验名称

简单记事本编辑设计

课程名称

Java实验课

课程号

学院(系)

数学与计算机学院

专业

计算机科学与技术

班级

计科11XX

学生姓名

林XX

学号

20151162XXXX

实验地点

钟04002

实验日期

2017/11/16

 

一、实验目的:

熟悉Swing组件及相关方法:

掌握常用Swing组件的菜单的使用方法、组件的事件监听方法以及主要布局管理器的使用。

本实验需4学时

二、实验内容:

编写如下图的一个记事本,并可实现图中列出的功能。

 

答:

源码

//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(){

@Override

publicvoidactionPerformed(ActionEvente){

area.copy();

}

});

item7=newJMenuItem("粘贴");

item7.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

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(){

publicvoidactionPerformed(ActionEvente){

finalJDialogdialog=newJDialog(NotePadDemo.this,"字符串替换...",true);

dialog.setBounds(560,250,310,180);

finalJLabeltihuan=newJLabel("请输入要替换的字符串:

");

JLabelmubiao=newJLabel("请输入替换后的字符串:

");

JTextFieldjtf1=newJTextField(10);

JTextFieldjtf2=newJTextField(10);

JButtonjb=newJButton("替换");

dialog.setLayout(null);

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(){

publicvoidactionPerformed(ActionEvente){

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(;start<=end-len;start++){

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(){

@Override

publicvoidactionPerformed(ActionEvente){

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纸书写,不够另附纸。

第  页,共  页

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1