Java实训报告书-文本编辑器(3)

2019-03-05 23:13

课程实训报告书

}

}

else // 如果文件已经保存过 { }

String s = text.getText();// 得到所输入的文本内容 try// 异常处理 { }

File f = new File(FileName);// 新建文件

BufferedWriter bw = new BufferedWriter(new FileWriter(f));// 输bw.write(s, 0, s.length()); bw.close();

JOptionPane.showMessageDialog(this, \保存成功\); System.out.println(\); System.exit(0);

System.out.println(\); System.exit(0); }

System.exit(0);

System.out.println(\); System.exit(0);

} catch (IOException ie_) {

入到文件中

} catch (FileNotFoundException fe_) {

} catch (IOException ie_) {

4.3编辑菜单功能测试

复制前 粘贴后

9

课程实训报告书

剪切前 剪切后

剪切、复制、粘贴功能的实现是在注册监听事件后,对文本去的文字进行操作时,系统调用文本类本身的库函数来处理文本去的文字操作,将选中的文本读入缓冲区。然后再等待不同的操作方法的调用。 4.4工具菜单功能测试

功能描述:

查找需要先生成对应的窗体,使用相应的组件类来创建窗体,使用流布局管理器来对窗体中的各个控件进行布局,对查找和查找下一个按钮注册监听事件并编写相应的处理方法。文本去的文字使用相应的处理方法进行比较和处理,并对光标位置进行判断是否到文本末尾,使用异常处理语句捕获异常并处理。

10

课程实训报告书

功能描述:

替换也是需要先生成相应的窗体,使用相应的组件类来创建窗体,使用流布局管理器来对窗体中的各个控件进行布局,对替换和清空按钮注册监听事件并编写相应的处理方法。 附:

查找替换函数处理代码:

public void find()// 查找函数

{

find.setSize(300, 100); find.setResizable(false);

find.setLayout(new FlowLayout());//窗体流布局 Label label1 = new Label(\查找内容\); Button button1 = new Button(\查找\); Button button2 = new Button(\查找下一个\); find.add(label1); find.add(ltext1); find.add(button1); find.add(button2);

button1.addActionListener(new ActionListener() {//查找按钮事件方法

public void actionPerformed(ActionEvent e) { }

if (ltext1.getText() == \) }

;

int locate = text.getText().indexOf(ltext1.getText(), 0); text.select(locate, locate + ltext1.getText().length()); fromindex = locate + ltext1.getText().length(); else {

find.setLocation(this.getX()+50, this.getY()+50);

//注册按钮的监听事件

});

button2.addActionListener(new ActionListener() {//查找下一个按钮方法

public void actionPerformed(ActionEvent e) {

int locate = text.getText()

.indexOf(ltext1.getText(), fromindex);

if (locate == -1)

ltext1.setText(\已查找到文件末尾!\); else { }

text.select(locate, locate + ltext1.getText().length()); fromindex = locate + ltext1.getText().length();

11

课程实训报告书

} {

replace.setSize(200, 200);

replace.setLocation(this.getX()+50, this.getY()+50); replace.setResizable(false);

replace.setLayout(new FlowLayout()); Label label_1 = new Label(\查找内容\); Label label_2 = new Label(\替换为 \); Button button_1 = new Button(\替换 \); Button button_2 = new Button(\清空 \); replace.add(label_1); replace.add(ltext2); replace.add(label_2); replace.add(ltext3); replace.add(button_1); replace.add(button_2);

button_1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { }

if (ltext2.getText() == \) }

;

int locate = text.getText().indexOf(ltext2.getText(), 0); text.select(locate, locate + ltext2.getText().length()); text.replaceRange(ltext3.getText(), locate, locate

+ ltext2.getText().length());

else {

} });

find.addWindowListener(new WindowAdapter() { // 关闭对话框窗口

public void windowClosing(WindowEvent ee) { }

find.dispose();

});

find.show(); find.removeAll();

public void replace()// 替换函数

//注册按钮的监听事件

});

button_2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { }

ltext2.setText(\); ltext3.setText(\);

12

课程实训报告书

}

});

replace.addWindowListener(new WindowAdapter() { // 关闭对话框窗口

public void windowClosing(WindowEvent ee) { }

replace.dispose();

});

replace.show(); replace.removeAll();

5 实训总结

实训的时间很短,只有短短一周的时间,但是需要完成的工作很多,一个学

期的java学习我们所学的并不是很多,本次实训我选取的是文本编辑器的设计。虽然以前在c#中做过实训,但是c#是在图形用户界面中进行窗体的设计,是对窗体和Windows控件的操作,而在java中需要用代码来实现窗体的实例化和调用。是要通过代码来实例化和创建窗体,并通过代码来调用,引入了java中的多个类来实现各个窗体和控件,并发现了自己的不足之处。

在窗体中需要加入文本编辑区来存储文本,这就需要创建文本对象并对其进行实例化,并且在编辑菜单中还需要多个方法来实现对文本的操作和处理,比如剪切和复制,用到本身的函数来操作。对于所有的菜单和菜单项以及控件所做才操作处理都需要注册其相应的监听事件来完成,而在文件菜单中,打开的操作用到了文件的输入流,保存则用到了文本的输出流。而在打开事件中所以遇到的错误在查阅了很多资料后在得以解决,并在此过程中学到了很多老师在课程中没有讲到的知识,是自己受益匪浅,在文件菜单中的保存中,需要用if语句进行相应的判断,来执行不同的代码实现,并与相应的异常处理语句相结合来完善程序,是代码哥哥具有健壮性和灵活性,减少程序运行时错误出现。

在查找和替换中,对于查找函数则需要判断许多不同的情况来进行不同,尤其是要如何实现查找和替换的功能是最关键的,需要使用什么样的方法来达到这一目的是最困难的,通过网络和同学的讨论发现很多同学也遇到了这个问题,而采用现成的代码是行不通的,必须自己在实现中进行一次次的修改,不断调整代码的运行方式来实现其功能。

由于时间仓促,还有许多其他的功能没有,并在已实现的功能中也有不足的地方,还需要进一步对其进行修改。再次过程中不断加深对java程序设计的认

13

课程实训报告书

识和理解,丰富自己的知识,了解自己的不足,加强自己的理解能力和学习能力,提高自己独立解决问题的能力。Java是一门全新的计算机语言,需要自己对其全新的理解,而java的很多功能都需要在学习中去发现和理解,应用到不同的设计中去,并结合网络这个以有利工具方便自己学习java的语言和强大的编码能力,以及在以后的设计中把程序不断完善。

14


Java实训报告书-文本编辑器(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电力行业信息系统安全等级保护基本要求(三级)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: