2022年JAVA课程设计方案记事本课程设计方案郑桂丽.docx
精品学习资源目 录目 录 0引言 错误!未定义书签;一 .应用软件开发坏境简要说明错误!未定义书签;1.1 硬件平台 错误!未定义书签;1.2 软件平台 错误!未定义书签;二 .系统需求分析 错误!未定义书签;2.1 记事本设计目标 错误!未定义书签;2.2 记事本设计内容 错误!未定义书签;三记事本数据库设计阶段错误!未定义书签;3.1 系统功能结构图 错误!未定义书签;3.2 登录界面结构图 错误!未定义书签;3.3 窗口设计流程图 错误!未定义书签;3.4 实现操作功能流程图错误!未定义书签;四记事本功能模块设计错误!未定义书签;五程序主要界面、代码实现错误!未定义书签;5.1 登录界面设计 错误!未定义书签;5.2 窗口设计 错误!未定义书签;5.3 下拉菜单监听 错误!未定义书签;5.4 加入工具栏功能键 错误!未定义书签;5.5 对功能键进行监听 错误!未定义书签;六总结 错误!未定义书签;七参考文献错误!未定义书签; 八附录 源代码 错误!未定义书签;欢迎下载精品学习资源引言随时着科学技术的快速进展,运算机程序设计早已成为了趋势, JAVA 是运算机专业的核心课程,是运算机科学的算法理论基础和软件设计的技术基础; JAVA 是实践性很强的课程;课程设计是加强实践才能的一个强有力手段;要求把握JAVA 的应用、编写、上机调试的基本方法;本课程设计就是主要利用java 语言编写的一个仿照 windows 记事本的较简洁的程序,它能实现打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、储存文本文件以及把握储存文本信息到指定的文件的一些基本功能;该记事本是一个基于 JCreator的应用程序;整个界面从符合操作简便、界面友好、灵敏、安全的要求动身,完成文本编辑的过程;本课程设计报告介绍了系统的登陆界面,记事本系统,记事本的设计,在记事本的具体实现章节,给出了部分实现了的功能界面和相关的代码;欢迎下载精品学习资源一应用软件的开发环境简要说明1.1 硬件平台:* 586 以上的运算机* 32MB 以上的内存* 彩色显示器* 3.5寸高密软盘驱动器* 光盘驱动器* 2G 以上硬盘空间* 鼠标欢迎下载精品学习资源1.2 软件平台:* WINDOWS或7WINDOWSxp欢迎下载精品学习资源* Jcreator 1.5全套软件二系统需求分析2.1 记事本设计目标:打开运算本窗口,在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击“文件”菜单,选择下拉菜单中的“储存文本” 打开“储存”窗口,选择储存文件的根目录进行储存;当需要关闭窗口时可通过“文件”菜单下的“退出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击窗口右上角的关闭图标进行关闭;2.2 记事本设计内容记事本充分发挥文本编辑的优势,通过各种操作的有机结合,实现文本编辑的各项所需功能;本程序的争论内容涉及记事本功能实现的全过程;该记事本功能包含以下内容:( 1)打开文件,读取文件中的文本信息:对原有文件可实行打开操作,并能读取文件中的内容,以便利对文件的查看,修改等任务;(2) 显示、编辑修改文本信息 : 记事本对文字信息的主要处理功能;可对相关信息进行复制,剪切,粘贴等操作;(3) 实现新建、储存文本文件 : 新建文本可以使用户写入新的信息,文件储存后再次打开仍可获得原有信息;欢迎下载精品学习资源三记事本数据库文件设计(流程图)3.1 系统功能结构图:系统功能结构图3.2 登录界面结构图:登录界面输入用户信息自动跳转验证否输入信息是否合法弹出错误信息是用户登录到主界面用户登录界面图欢迎下载精品学习资源3.3 窗口设计流程图:设计容器继承 JFrame创建文本窗格,编辑窗口创建文件选择器设置菜单栏得到容器添加工具栏添 加 文本 窗格窗口设计流程图欢迎下载精品学习资源3.4 实现操作功能流程图:创建菜单栏实例化菜单栏增加新菜单项添加菜单返回菜单栏实现操作功能框图四记事本系统各模块功能设计系统各功能模块实现的功能为:登录窗口:输入相应的用户名和密码,进入相应的用户新建记事本:在文件的下拉菜单中点击新建文本或单击工具栏中的新建文本,将文本刷新;打开原有的记事本:在文件的下拉菜单中点击打开文本或单击工具栏中的打开文本,再选中原有的记事本,单击打开按钮,便将原有文本打开;拷贝:先选中需复制的文本,在编辑的下拉菜单中点击拷贝或单击工具栏中的拷贝,便将所选文本复制了;欢迎下载精品学习资源粘贴:在编辑的下拉菜单中点击粘贴或单击工具栏中的粘贴,便将所复制的文本粘贴到需粘贴的地方;剪贴:先选中需剪贴的文本,在编辑的下拉菜单中点击剪贴或单击工具栏中的剪贴,便将所选文本剪贴了;储存:在文件的下拉菜单中点击储存文本或单击工具栏中的储存文本,便将转变的文本储存好;退出系统:在文件的下拉菜单中点击退出系统或单击工具栏中的退出系统, 或直接点击状态栏中的 ,从而关闭文本;五程序的主要界面、代码实现5.1 登录界面设计class LoginIn extends JFrame EditorDemo edit ;LoginIn login ;JTextField f1 ;JTextField f2 ;JButton b1 ;JButton b2 ;String power ;/ 表示权限String imgePath = "e:/workspace/GUI/14.gif";JPanel p5;Image img = Toolkit.getDefaultToolkit.createImageimgePath;LoginInEditorDemo edit this.edit = edit ;login = this ;Container cp = getContentPane ;Label l1 = new Label" 用户: " ;Label l2 = new Label" 密码: " ;JPanel p1 = new JPanel;JPanel p2 = new JPanel;JPanel p3 = new JPanel;JPanel p4 = new JPanel;p5 = new JPanel protected void paintChildrenGraphics g g.drawImageimg, 0, 0, this ;super.paintChildreng ;欢迎下载精品学习资源 ;f1 = new JTextField15 ;f2 = new JPasswordField15 ;b1 = new JButton" 登录" ; b2 = new JButton" 重置" ;p1.setBackgroundColor.orange ;p2.addl1 ;p2.addf1 ;p2.setBordernew MatteBorder0, 0, 0, 0, Color.BLACK;p2.setBackgroundColor.ORANGE;p3.addl2 ;p3.addf2 ;p3.setBackgroundColor.ORANGE;p3.setBordernew MatteBorder0, 0, 0, 0, Color.BLACK;p4.addb1 ;p4.addb2 ;p4.setBordernew MatteBorder-3, -3, -3, -3, Color.CYAN;p4.setBackgroundColor.ORANGE;p5.setLayoutnew FlowLayoutFlowLayout.CENTER, 20, 20;p5.addp2 ;p5.addp3 ;p5.addp4 ;cp.addp5, BorderLayout.CENTER;b1.addActionListenernew Enter;b2.addActionListenernew ReWrite;addWindowListenernew winClose;class Enter implements ActionListener public void actionPerformedActionEvent e if f1.getText.equals"zgl" && f2.getText.equals"123" JOptionPane.showMessageDialognull," 登录成功!用户权限欢迎下载精品学习资源是 adimistrator" ;用户权限是 user" ;power = "adminstrator" ;login.setVisiblefalse ;edit.setVisibletrue ; else if f1.getText.equals"cheery"&& f2.getText.equals"123456" JOptionPane.showMessageDialognull,"登录成功 . 登录成功!power = "adminstrator" ;欢迎下载精品学习资源录! "; elseJOptionPane.showMessageDialognull," 登录失败,请重新登欢迎下载精品学习资源class ReWrite implements ActionListener public void actionPerformedActionEvent e f1.setText"" ;f2.setText"" ;f1.requestFocus;class winClose extends WindowAdapter public void windowClosingWindowEvent e e.getWindow.dispose ;System.exit0 ;欢迎下载精品学习资源5.2 窗口设计在主接口中设计一个EditorDemo容器继承自 JFrame,并在其中加入菜单栏、工具栏和一个文本域控件;public class EditorDemo extends JFrameJTextPane textPane = new JTextPane; /创建文本窗格,编辑窗口JFileChooser filechooser = new JFileChooser; /文件选择器setJMenuBarcreateJMenuBaractions; /设置菜单栏Container container = getContentPane; /得到容器container.addcreateJToolBaractions, BorderLayout.NORTH; /工具栏container.addtextPane, BorderLayout.CENTER; /增加文本窗格欢迎下载精品学习资源5.3 在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能;点击不同菜单项时,显示不同接口部分代码 :private JMenuBar createJMenuBarAction actions JMenuBar menubar = new JMenuBar ;JMenu menuFile = new JMenu" 文件 F" ;/创建菜单栏/ 实例化菜单栏/ 实例化菜单JMenu menuEdit = new JMenu" 编辑 E" ;JMenu menuFormat = new JMenu" 格式 O" ;JMenu menuFind = new JMenu" 查找 V" ;JMenu menuAbout = new JMenu" 帮忙 H" ;menuFile.addnew JMenuItemactions0;/ 增加新菜单项menuFile.addnew JMenuItemactions1;menuFile.addnew JMenuItemactions2;menuFile.addSeparator ;menuFile.addnew JMenuItemactions7;menuEdit.addnew JMenuItemactions3;menuEdit.addnew JMenuItemactions4;menuEdit.addnew JMenuItemactions5;menuAbout.addnew JMenuItemactions6;menubar.addmenuFile ;/ 增加菜单欢迎下载精品学习资源menubar.addmenuEdit ;menubar.addmenuFormat ;menubar.addmenuFind ;menubar.addmenuAbout ;return menubar ;/ 返回菜单栏如下图:图 1 文件菜单功能生成界面图 2 编辑菜单功能生成界面图 3 帮忙菜单功能生成界面5.4 加入工具栏的功能键,通过工具栏实现对文本的基本操作;关键代码 :欢迎下载精品学习资源Action actions = /Action数组 ,各种操作命令new NewAction,new OpenAction, new SaveAction, new CutAction, new CopyAction, new PasteAction, new AboutAction, new ExitAction,private JToolBar createJToolBarAction actions /创建工具条JToolBar toolBar = new JToolBar; / 实例化工具条JButton bt = new JButtonactionsi; / 实例化新的按钮toolBar.addbt ; / 增加按钮到工具栏如以下图:5.5 对每个菜单项进行注册监听;点击不同功能键时,实现不同的操作,显示不同的窗口;主要代码 :class NewAction extends AbstractAction /实现新建文件命令功能public NewAction super"新建文本 " ;public void actionPerformedActionEvent e textPane.setDocumentnew DefaultStyledDocument ; /清空文档class OpenAction extends AbstractAction /实现打开文件命令功能public OpenAction super"打开文本 " ;public void actionPerformedActionEvent e int i = filechooser.showOpenDialogEditorDemo.this;/ 显示打开文件对话框if i = JFileChooser.APPROVE_OPTION /点击对话框中打开选项File f = filechooser.getSelectedFile ; / 得到选择的文件try InputStream is = new FileInputStreamf ; / 得到文件输入流textPane.readis, "d" ; / 读入文件到文本窗格 catch Exception ex 欢迎下载精品学习资源ex.printStackTrace ; / 输出出错信息如下图:图 1 打开文件生成界面class SaveAction extends AbstractAction /实现储存文本命令public SaveAction super"储存文本 " ;public void actionPerformedActionEvent e int i = filechooser.showSaveDialogEditorDemo.this;/ 显示储存文件对话框if i = JFileChooser.APPROVE_OPTION /点击对话框中储存按钮File f = filechooser.getSelectedFile; /得到选择的文件try FileOutputStreamout=new欢迎下载精品学习资源FileOutputStreamf;/ 得到文件输出流out.writetextPane.getText.getBytes; /写出文件 catch Exception ex ex.printStackTrace; /输出出错信息如下图:图 2 储存文件生成界面class ExitAction extends AbstractAction /实现退出命令public ExitAction super"退出系统 " ;public void actionPerformedActionEvent e System.exit0; /退出程序 class CutAction extends AbstractAction /实现剪切命令public CutAction super"剪切" ;欢迎下载精品学习资源public void actionPerformedActionEvent e textPane.cut; /调用文本窗格的剪切命令 class CopyAction extends AbstractAction /实现拷贝命令public CopyAction super"拷贝" ;public void actionPerformedActionEvent etextPane.copy; /调用文本窗格的拷贝命令class PasteAction extends AbstractAction /实现粘贴命令public PasteAction super"粘贴" ;public void actionPerformedActionEvent e textPane.paste; /调用文本窗格的粘贴命令 class AboutAction extends AbstractAction /关于版本命令public AboutAction super"版本" ;public void actionPerformedActionEvent e String str="记事本版本: 1.0n作者:郑桂丽 n主要功能:实现简洁文本编辑;JOptionPane.showMessageDialogEditorDemo.this, str; /显示软件信息欢迎下载精品学习资源如下图:图 3 显示版本界面生成图六总结由于运算机的普及,各行业、各单位都有运算机软件系统的应用;该程序所表达的记事本功能为相关记事本的操作和治理带来诸多便利,提高了工作效率;本课程设计的记事本通过在 JAVA 平台编译、运行源代码,打开运算本窗口, 在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完 毕后点击“文件”菜单,选择下拉菜单中的“储存文本”打开“储存”窗口,选 择储存文件的根目录进行储存;当需要关闭窗口时可通过“文件”菜单下的“退 出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击窗欢迎下载精品学习资源口右上角的关闭图标进行关闭;经过java 记事本的课程设计,收成到了许多,加深了对Java语言的理论学问的懂得;更加娴熟的把握了 Java语言的设计才能并且有了实践体会;在设计过程中,学到了许多在课堂上没有教授的学问;加强了对Java语言的学习爱好和好 感;七参考文献(1) 叶乃文 王丹 java语言程序设计教程,机械工业出版社, 2021.12(2) 耿祥义 张跃平 Java 高校有用教程(第 2 版). 电子工业出版社, 2021.5(3) 孙全党 王吴迪 赵枫朝 Java 程序设计应用教程,电子工业出版社, 2006.2八附录 源代码欢迎下载精品学习资源程序源代码:/记事本import java.awt.* ;import java.io.* ;import javax.swing.* ;public class EditorDemo extends JFrame JTextPane textPane = new JTextPane;/ 文本窗格,编辑窗口欢迎下载精品学习资源JLabel statusBar = new JLabel;/ 状态栏JFileChooser filechooser = new JFileChooser;/ 文件选择器public EditorDemo / 构造函数super"简易记事本 "; / 调用父类构造函数Action actions = / Action 数组,各种操作命令new NewAction,new OpenAction,newSaveAction,new欢迎下载精品学习资源CutAction, AboutAction,newCopyAction,newPasteAction,new new ExitAction, ;欢迎下载精品学习资源setJMenuBarcreateJMenuBaractions;Container container = getContentPane;/ 设置菜单栏/ 得到容器欢迎下载精品学习资源container.addcreateJToolBaractions,BorderLayout.NORTH ; / 增加工具栏欢迎下载精品学习资源欢迎下载精品学习资源container.addtextPane, BorderLayout.CENTER; container.addstatusBar, BorderLayout.SOUTH;/ 增加文本窗格/ 增加状态栏欢迎下载精品学习资源setSize500, 400;/ 设置窗口尺寸/setVisibletrue; / 设置窗口可视setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; / 关闭窗口时退出程序private JMenuBar createJMenuBarAction actions / 创建菜单栏JMenuBar menubar = new JMenuBar;/ 实例化菜单栏JMenu menuFile = new JMenu"文件F" ; / 实例化菜单JMenu menuEdit = new JMenu"编辑E" ;JMenu menuFormat = new JMenu"格式O" ;JMenu menuFind = new JMenu"查找V" ;JMenu menuAbout = new JMenu"帮忙H" ;menuFile.addnew JMenuItemactions0; / 增加新菜单项menuFile.addnew JMenuItemactions1;menuFile.addnew JMenuItemactions2;menuFile.addSeparator;menuFile.addnew JMenuItemactions7;menuEdit.addnew JMenuItemactions3;menuEdit.addnew JMenuItemactions4;menuEdit.addnew JMenuItemactions5;menuAbout.addnew JMenuItemactions6;欢迎下载精品学习资源menubar.addmenuFile; menubar.addmenuEdit;/ 增加菜单欢迎下载精品学习资源menubar.addmenuFormat;menubar.addmenuFind; menubar.addmenuAbout; return menubar; / 返回菜单栏private JToolBar createJToolBarAction actions / 创建工具条JToolBar toolBar = new JToolBar; / 实例化工具条 for int i = 0 ; i < actions.length; i+ JButton bt = new JButtonactionsi; / 实例化新的按钮bt.setRequestFocusEnabledfalse; / 设置不需要焦点bt.setFontnew Font"宋体", Font.PLAIN, 12 ;bt.setBackgroundColor.pink; toolBar.addbt; / 增加按钮到工具栏return toolBar; / 返回工具栏欢迎下载精品学习资源class NewAction extends AbstractAction / 新建文件命令public NewAction super"新建文本 ";欢迎下载精品学习资源public void actionPerformedActionEvent e textPane.setDocumentnew DefaultStyledDocument;文档/ 清空欢迎下载精品学习资源class OpenAction extends AbstractAction / 打开文件命令public OpenAction super"打开文本 ";public void actionPerformedActionEvent e int i = filechooser.showOpenDialogEditorDemo.this ; / 显示欢迎下载精品学习资源打开文件对话框打开选项件到文件输入流if i = JFileChooser.APPROVE_OPTION /点击对话框中File f = filechooser.getSelectedFile; / 得到选择的文try InputStream is = new FileInputStreamf ; / 得textPane.readis, "d"; / 读入文件到文本窗格 catch Exception ex ex.printStackTrace; / 输出出错信息欢迎下载精品学习资源class SaveAction extends AbstractAction /储存命令public SaveAction super"储存文本 ";public void actionPerformedActionEvent e int i= filechooser.showSaveDialogEditorDemo.this; / 显示储存文件对话框if i = JFileChooser.APPROVE_OPTION /点击对话框中欢迎下载精品学习资源欢迎下载精品学习资源储存按钮件File f = filechooser.getSelectedFile; / 得到选择的文try FileOutputStreamout=new欢迎下载精品学习资源FileOutputStreamf; / 得到文件输出流out.writetextPane.getText.getBytes; /写欢迎下载精品学习资源出文件 catch Exception ex ex.printStackTrace; / 输出出错信息欢迎下载精品学习资源class ExitAction extends AbstractAction / 退出命令public ExitAction super"退出系统 ";public void actionPerformedActionEvent e System.exit0; / 退出程序class CutAction extends AbstractAction / 剪切命令public CutAction super"剪切";public void actionPerformedActionEvent e textPane.cut; / 调用文本窗格的剪切命令class CopyAction extends AbstractAction / 拷贝命令public CopyAction super"拷贝";public void actionPerformedActionEvent e textPane.copy; / 调用文本窗格的拷贝命令欢迎下载精品学习资源class PasteAction extends AbstractAction /粘贴命令public PasteAction super"粘贴";public void actionPerformedActionEvent e 欢迎下载精品学习资源textPane.paste;/ 调用文本窗格的粘贴命令欢迎下载精品学习资源class AboutAction extends AbstractAction / 关于选项命令public AboutAction super"版本";public void actionPerformedActionEvent e String str = "简易记事本 nn 版本: 1.0n 作者:郑桂丽 n 主要功能:实现简洁文本编辑; " ;JOptionPane.showMessageDialogEditorDemo.this,str; / 显示软件信息public static void mainString args LoginIn log = new LoginInnew EditorDemo ;log.setTitle" 系统登录 ";log.setSize360, 250;log.setVisibletrue;class LoginIn extends JFrame EditorDemo edit;LoginIn login ;JTextField f1;JTextField