欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程课程设计记事本课程设计.doc

    • 资源ID:88149598       资源大小:236KB        全文页数:29页
    • 资源格式: DOC        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程课程设计记事本课程设计.doc

    软件工程课程设计报告题目: 模拟记事本程序 专业班级: 计科10102班 姓名: 傅湘黔 学号: 201017010220 同组姓名:蔡双、刘再科、李明、朱林成绩评定指导教师:年月日目录1.前言42.需求分析4功能需求4其他需求43.概要设计44.详细设计7文件模块的详细设计7新建模块的详细设计:7打开模块的详细设计7保存、另存为模块的详细设计7退出模块的详细设计7编辑模块的详细设计7撤销模块的详细设计7剪切模块的详细设计8复制模块的详细设计8粘贴模块的详细设计8删除模块的详细设计8设计图9用例图9类图9时序图10活动图125.程序代码126.运行界面287.心得体会298.参考文献30Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开 的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设 题材,借此巩固加深我们对Java的了解。本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 新建、打开、保存、另存为、剪切、复制、粘贴、删除等记事本常规操作    除了常规操作以外,我们还有些东西需要添加进去,这里面我们包括字体颜色,还有查找方面的操作,对于整个记事本,我们还会添加我们记事本的作者,和相关信息。图1图2 图3 图4        4.1.1新建模块的详细设计:    用户选择新建后,先检测当前的文本内容是否修改过。如果未修改过,则新建一个空文本文档。如果修改过,先弹出提示保存对话框,提示用户是否保存,如果选择“是”,先保存当前文本内容,再新建一个空文本文档。如果选择“否”,则直接新建一个空文本文档。             用户选择打开后,先检测当前的文本内容是否修改过。如果未修改过,则打开选择的文本文件。如果修改过,先弹出提示保存对话框,提示用户是否保存,如果选择“是”,先保存当前文本内容,再打开文本文件。如果选择“否”,则直接打开文件。         4.1.3保存、另存为模块的详细设计    当用户选择保存或另存时,先检测文件内容是否修改过。如果修改过,保存对文档的修改。         当用户选择退出时,弹出提示保存对话框,询问用户是否保持。如果选择“是”,先保存文档,再退出程序。如果选择“否”,直接退出程序。            打开一个文本文档,当用户选择编辑或右键弹出菜单中的撤消操作后,判断一个文本是否已被修改,若已修改,撤消上一步的操作,否则不进行任何操作。           打开一个文本文档,当用户选择编辑菜单或右键弹出菜单中的剪切操作后,判断一个文本是否被选中,若已选中,删除选中的文字,并将选中的文字传输到系统剪切板中,否则不进行任何操作。      打开一个文本文档,当用户选择编辑菜单或右键弹出菜单中的复制操作后,判断一个文本是否被选中,若已选中,将选中的文字传输到系统剪切板中,否则不进行任何操作。          运行程序,打开一个文本文档,在菜单栏上选中编辑菜单或者在文档中右键鼠标菜单,选中“粘贴”,判断文本文档是否进行了复制和剪切操作(即判断系统剪切板是否有内容),如果有就将剪切板的内容粘贴到光标处,没有就继续执行其他操作步骤。     运行程序,打开一个文本文档,在菜单栏上选中编辑菜单或者在文档中右键鼠标菜单选中“删除”,程序判断文本文档是否有已选中的内容,如果有就将选中的内容删除掉,没有就执行其他操作。 图5 图6 图7 图8 图9import java.awt.CheckboxMenuItem;import java.awt.Color;import java.awt.Container;import java.awt.FileDialog;import java.awt.FlowLayout;import.Font;import java.awt.GraphicsEnvironment;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.MenuShortcut;import java.awt.TextArea;import java.awt.Toolkit;import java.awt.Window;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.datatransfer.UnsupportedFlavorException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class notebook / 记事本的具体实现类private static final long serialVersionUID = 1L;private TextArea content;private String filePath = ""/ 先让路径为空Color color = Color.red;Toolkit toolKit = Toolkit.getDefaultToolkit();Clipboard clipboard = toolKit.getSystemClipboard();public notebook() / 创建一个JFrame对象;并设置相关属性final JFrame jf = new JFrame("我的记事本");jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);jf.setBounds(100, 100, 500, 500);jf.setResizable(true);jf.setVisible(true);/ 创建菜单栏MenuBar menu = new MenuBar();jf.setMenuBar(menu);/ 创建并添加文本框content = new TextArea("", 50, 50, TextArea.SCROLLBARS_VERTICAL_ONLY);jf.add(content);content.setVisible(true);content.requestFocusInWindow();/ 菜单栏添加内容Menu filemenu = new Menu("文件(F)");Menu editmenu = new Menu("编辑(E)");Menu formatmenu = new Menu("格式(O)");Menu viewmenu = new Menu("查看(V)");Menu helpmenu = new Menu("帮助(H)");menu.add(filemenu);menu.add(editmenu);menu.add(formatmenu);menu.add(viewmenu);menu.add(helpmenu);/ 创建文件菜单上的各个菜单项并添加到菜单上MenuItem newitem = new MenuItem("新建(N)");newitem.setShortcut(new MenuShortcut(KeyEvent.VK_N, false);filemenu.add(newitem);MenuItem openitem = new MenuItem("打开(O)");openitem.setShortcut(new MenuShortcut(KeyEvent.VK_O, false);filemenu.add(openitem);MenuItem saveitem = new MenuItem("保存(S)");saveitem.setShortcut(new MenuShortcut(KeyEvent.VK_S, false);filemenu.add(saveitem);MenuItem saveasitem = new MenuItem("另存为(A)");saveasitem.setShortcut(new MenuShortcut(KeyEvent.VK_A, false);filemenu.add(saveasitem);MenuItem setitem = new MenuItem("页面设置(U)");setitem.setShortcut(new MenuShortcut(KeyEvent.VK_U, false);filemenu.add(setitem);setitem.setEnabled(false);MenuItem printitem = new MenuItem("打印(P)");printitem.setShortcut(new MenuShortcut(KeyEvent.VK_P, false);filemenu.add(printitem);printitem.setEnabled(false);filemenu.addSeparator();MenuItem exititem = new MenuItem("退出(X)");exititem.setShortcut(new MenuShortcut(KeyEvent.VK_X, false);filemenu.add(exititem);/ 添加监听器来实现文件菜单上的各个菜单项的功能/ 新建菜单项的功能实现newitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String con = content.getText();if (!con.equals("") / 文本域里文本不为空int result = JOptionPane.showConfirmDialog(null,("是否要保存?"), ("保存文件."),JOptionPane.YES_NO_CANCEL_OPTION);if (result = JOptionPane.NO_OPTION) / 不保存content.setText("");else if (result = JOptionPane.CANCEL_OPTION) / 取消新建else if (result = JOptionPane.YES_OPTION)/ 选择保存JFileChooser jfc = new JFileChooser();/ 用于选择保存路径的文件名int bcf = jfc.showSaveDialog(jf);if (bcf = JFileChooser.APPROVE_OPTION) try / 保存文件BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+ ".txt");filePath = jfc.getSelectedFile().getAbsolutePath() + ".txt"/ 获取文件保存的路径bfw.write(con);/ 向文件写出数据bfw.flush();bfw.close();/ 关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex);new notebook();/ 新建文本文件);/ 打开菜单项的功能实现openitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / JFileChooser jfile = new JFileChooser();/ FileNameExtensionFilter filter = new/ FileNameExtensionFilter("*.txt","txt");/ jfile.setFileFilter(filter);/ jfile.setVisible(true);/ int returnval = jfile.showOpenDialog(jfile);/ filePath =/ jfile.getDialogTitle()+jfile.getSelectedFile().getName();/ System.out.println(jfile.getSelectedFile();FileDialog dialog = new FileDialog(new JFrame(), "打开.",FileDialog.LOAD);dialog.setVisible(true);filePath = dialog.getDirectory() + dialog.getFile();System.out.println(filePath);File file = new File(filePath);BufferedReader br = null;StringBuilder sb = new StringBuilder();try br = new BufferedReader(new FileReader(file);String str = null;while (str = br.readLine() != null) sb.append(str).append("n");content.setText(sb.toString(); catch (FileNotFoundException e1) e1.printStackTrace(); catch (IOException e1) e1.printStackTrace(); finally if (br != null) try br.close(); catch (IOException e1) e1.printStackTrace(););/ 保存菜单项的功能实现saveitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / FileDialog dialog = new FileDialog(new/ JFrame(),"保存.",FileDialog.SAVE);/ dialog.setVisible(true);/ filePath = dialog.getDirectory() + dialog.getFile();/ File file = new File(filePath);/ BufferedWriter bw = null;/ try/ bw = new BufferedWriter(new FileWriter(file);/ bw.write(content.getText();/ / catch(FileNotFoundException e1)/ e1.printStackTrace();/ / catch(IOException e1)/ e1.printStackTrace();/ / finally/ if(bw != null)/ try/ bw.close();/ / catch(IOException e1)/ e1.printStackTrace();/ / / FileDialog dialog = new FileDialog(new JFrame(), "保存.",FileDialog.SAVE);dialog.setVisible(true);filePath = dialog.getDirectory() + dialog.getFile();if (filePath.equals("") / 没有路径时,就另存为JFileChooser jfc = new JFileChooser();/ 用于选择保存路径的文件名int bcf = jfc.showSaveDialog(jf);/ 弹出保存窗口if (bcf = JFileChooser.APPROVE_OPTION) try / 保存文件BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+ ".txt");filePath = jfc.getSelectedFile().getAbsolutePath();bfw.write(content.getText();/ 向文件写出数据bfw.flush();bfw.close();/ 关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex); else / 路径不为空时,保存在原来的路径下try / 保存文件BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(filePath);bfw.write(content.getText();/ 向文件写出数据bfw.flush();bfw.close();/ 关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex););/ 另存为菜单项的功能实现saveasitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JFileChooser jfc = new JFileChooser();/ 用于选择保存路径的文件名int bcf = jfc.showSaveDialog(jf);/ 弹出保存窗口if (bcf = JFileChooser.APPROVE_OPTION) try / 保存文件BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath() + ".txt");filePath = jfc.getSelectedFile().getAbsolutePath();bfw.write(content.getText();/ 向文件写出数据bfw.flush();bfw.close();/ 关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex););/ 页面设置菜单项的功能实现setitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) );/ 打印菜单项的功能实现printitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) );/ 退出菜单项的功能实现exititem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Object options = "是的,我要退出", "不好意思,点错了" ;int option = JOptionPane.showOptionDialog(null, "您确定要退出吗?","退出提示.", JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE, null, options, options0);if (option = JOptionPane.OK_OPTION) System.exit(0););/ 创建编辑菜单上的各个菜单项并添加到菜单上MenuItem undoitem = new MenuItem("撤销(U)");undoitem.setShortcut(new MenuShortcut(KeyEvent.VK_Z, false);editmenu.add(undoitem);MenuItem cutitem = new MenuItem("剪切(T)");cutitem.setShortcut(new MenuShortcut(KeyEvent.VK_X, false);editmenu.add(cutitem);MenuItem copyitem = new MenuItem("复制(C)");copyitem.setShortcut(new MenuShortcut(KeyEvent.VK_C, false);editmenu.add(copyitem);MenuItem pasteitem = new MenuItem("粘贴(P)");pasteitem.setShortcut(new MenuShortcut(KeyEvent.VK_V, false);editmenu.add(pasteitem);MenuItem deleteitem = new MenuItem("删除(L)");deleteitem.setShortcut(new MenuShortcut(KeyEvent.VK_DELETE, false);editmenu.add(deleteitem);editmenu.addSeparator();MenuItem finditem = new MenuItem("查找(F)");finditem.setShortcut(new MenuShortcut(KeyEvent.VK_F, false);editmenu.add(finditem);MenuItem nextitem = new MenuItem("查找下一个(N)");nextitem.setShortcut(new MenuShortcut(KeyEvent.VK_3, false);editmenu.add(nextitem);MenuItem replaceitem = new MenuItem("替换(R)");replaceitem.setShortcut(new MenuShortcut(KeyEvent.VK_H, false);editmenu.add(replaceitem);MenuItem turntoitem = new MenuItem("转到(G)");turntoitem.setShortcut(new MenuShortcut(KeyEvent.VK_G, false);editmenu.add(turntoitem);editmenu.addSeparator();/ 复选菜单项Menu choicemenu = new Menu("选择(C)");MenuItem allitem = new MenuItem("全选(A)");allitem.setShortcut(new MenuShortcut(KeyEvent.VK_A, false);choicemenu.add(allitem);MenuItem fanxiangitem = new MenuItem("反向选择(B)");fanxiangitem.setShortcut(new MenuShortcut(KeyEvent.VK_B, false);choicemenu.add(fanxiangitem);MenuItem chieseitem = new MenuItem("选择汉字(C)");chieseitem.setShortcut(new MenuShortcut(KeyEvent.VK_C, false);choicemenu.add(chieseitem);editmenu.add(choicemenu);/ 编辑菜单项的时间/日期项MenuItem dateitem = new MenuItem("时间/日期(D)");dateitem.setShortcut(new MenuShortcut(KeyEvent.VK_5, false);editmenu.add(dateitem);/ 添加监听器来实现编辑菜单上的各个菜单项的功能/ 撤销菜单项的功能实现undoitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) );/ 剪切菜单项的功能实现cutitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String text = content.getSelectedText();StringSelection selection = new StringSelection(text);clipboard.setContents(selection, null);if (text.length() = 0) return; else content.replaceRange("", content.getSelectionStart(),content.getSelectionEnd(););/ 复制菜单项的功能实现copyitem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String text = content.getSelectedText();StringSelection selection = new StringSelection(text);clipboard.setContents(selection, null);

    注意事项

    本文(软件工程课程设计记事本课程设计.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开