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

2019-03-05 23:13

课程实训报告书

剪切 帮助 编辑 复制 帮助 关于 粘贴

3 主要代码清单

3.1生成菜单栏及菜单项

在窗体初始化时,自动添加菜单及其菜单项,用于在文本编辑器中对文本去内容进行操作,使用for语句循环生成菜单栏和菜单项。

public void addmyMenu() // 菜单函数,生成菜单

{

JMenuBar menubar = new JMenuBar();// 菜单栏添加若干菜单 this.setJMenuBar(menubar);

String menustr[] = { \文件\, \编辑\, \工具\, \帮助\ };//菜单栏字符串数组 JMenu menu[] = new JMenu[menustr.length];

for (int i = 0; i < menu.length; i++) {//为菜单栏赋值 }

String menuitemstr0[] = { \新建\, \打开\, \保存\, \另存为\, \退出\ };// 文JMenuItem menuitem0[] = new JMenuItem[menuitemstr0.length];

menu[i] = new JMenu(menustr[i]); menubar.add(menu[i]);

件菜单中添加若干菜单项

4

课程实训报告书

}

for (int i = 0; i < menuitem0.length; i++) {//为文件菜单赋值 }

String menuitemstr1[] = { \剪切\, \复制\, \粘贴\ };// 编辑菜单中添加若干菜JMenuItem menuitem1[] = new JMenuItem[menuitemstr1.length]; for (int i = 0; i < menuitem1.length; i++) { }

String menuitemstr2[] = { \查找\, \替换\ };// 工具菜单中添加若干菜单项 JMenuItem menuitem2[] = new JMenuItem[menuitemstr2.length]; for (int i = 0; i < menuitem2.length; i++) { }

JMenuItem menuitemstr3 = new JMenuItem(\帮助\);// 帮助菜单中添加帮助菜单项 menu[3].add(menuitemstr3);

menuitemstr3.addActionListener(this);// 注册监听事件

menuitem2[i] = new JMenuItem(menuitemstr2[i]); menu[2].add(menuitem2[i]);

menuitem2[i].addActionListener(this);// 为每个菜单项注册监听事件 menuitem1[i] = new JMenuItem(menuitemstr1[i]); menu[1].add(menuitem1[i]);

menuitem1[i].addActionListener(this);// 为每个菜单项注册监听事件 menuitem0[i] = new JMenuItem(menuitemstr0[i]); menu[0].add(menuitem0[i]);

menuitem0[i].addActionListener(this);// 为每个菜单项注册监听事件

单项

3.2监听事件处理

注册监听事件,当进行操作时,监听事件活得事件源并选择相应的操作,对不同的事件调用不同的函数,得到文本操作的不同结果。

public void actionPerformed(ActionEvent e) // 监听事件处理函数

{

if (e.getSource() instanceof JMenuItem) // 判断事件是否来自于菜单项 {

if (e.getActionCommand() == \新建\) { }

if (e.getActionCommand() == \打开\) { }

if (e.getActionCommand() == \保存\) { }

if (e.getActionCommand() == \另存为\) { }

5

saveother();// 执行另存为函数 save();// 执行保存函数 open();// 执行打开函数 FileName=\未命名1\;

text.replaceRange(\, 0, text.getText().length());

课程实训报告书

}

}

if (e.getActionCommand() == \退出\) }

if (e.getActionCommand() == \替换\) { }

if (e.getActionCommand() == \帮助\) {//帮助消息窗体 }

JOptionPane.showMessageDialog(this,

\该记事本程序属于个人所编写,由于时间仓促,难免有不足之处仅供初学JOptionPane.PLAIN_MESSAGE);

replace();// 执行替换函数 System.exit(0);// 系统退出 text.cut();// 剪切 text.copy();// 复制 text.paste();// 粘贴 find();// 执行查找函数

if (e.getActionCommand() == \剪切\) if (e.getActionCommand() == \复制\) if (e.getActionCommand() == \粘贴\) if (e.getActionCommand() == \查找\) {

者使用!\, \帮助\,

4 程序运行与测试

4.1文本区功能测试

a) 字体的显示,开始的时候不做任何操作的时候显示的默认值,通过修改字体

的属性来修改字体。

b) 对文本事件进行监听,如果文本编辑窗口中如果有事件触发,关闭时能够有

必要的信息提示。

c) 状态栏的可以正常显示文本的状态信息。

6

课程实训报告书

4.2文件菜单功能测试

文件中的功能测试:

a) 通过文件字符流读取文件,创建缓冲区存储文件流。

b) 当保存文件时,先判断文件是否未被保存过,如果未被保存过,则创建

新文件并通过输出流来存储文件,当文件已经保存过再对文件进行修改时,则会提示保存的消息窗体。

c) 另存为是通过不同的方法来创建一个新的文件。 附:

打开与保存代码:

public void open() // 打开函数

{

FileDialog open = new FileDialog(mainFrame, \打开\, FileDialog.LOAD); open.setVisible(true);

File file = new File(open.getDirectory() + open.getFile()); String path = file.getPath();//获得文件的路径

7

课程实训报告书

char Frist = path.charAt(0);//获取文件的第一个字符 if (Frist != 'n') {//判断是否为空 } }

FileName = open.getDirectory() + open.getFile();//获取文件名 char ch[] = null; try { {

JOptionPane.showMessageDialog(this, \文件没有打开!\);//显示消息提System.exit(0);

ch = new char[(int) file.length()];

BufferedReader br = new BufferedReader(new FileReader(file));//br.read(ch);//读文件 br.close();

文件度缓冲区

} catch (FileNotFoundException fe) //捕获异常

示窗口

} catch (IOException ie) //捕获异常 { }

this.setTitle(FileName);//将窗体标题赋值为文件名 String tempo = new String(ch);//将字符数组赋值给字符串 text.setText(tempo);//文本显示区显示

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

public void save() // 保存函数

} catch (FileNotFoundException fe_) {

System.out.println(\);

8

{

if (FileName.equals(\未命名1\))// 判断是否保存过 {

FileDialog save = new FileDialog(mainFrame, \保存\, FileDialog.SAVE); save.setVisible(true);

String temps = text.getText();// 获取文本去文字并复制给字符串temps try// 异常处理 {

File f = new File(save.getDirectory() + save.getFile());// 新建FileName = save.getDirectory() + save.getFile();// 得到文件名 BufferedWriter bw = new BufferedWriter(new FileWriter(f));// 输bw.write(temps, 0, temps.length());// 新文件写入 bw.close();

文件

入到文件中


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

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

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

马上注册会员

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