一个简单的java语言写字板.docx

一个简单的JAVA语言写字板一、需求分析1.需求分析:现在网络上各种文档编辑器数不胜数。功能也是应有尽有,有能改变字体的,有可以改变字体颜色的,但是,这些软件有存在各种各样的瑕疵或问题。有的文件体积相对于一般字体编辑来说太大,有的功能太繁杂,使得初学者很难学会使用。但是仅仅从日常方面来说,一个文本编辑器只需要简单的使用功能就够了,本程序就是依照这样的思路设计的简易写字板。2.功能设计:本程序要构建的记事本程序参照Windows操作系统的记事本工具,其功能有以下几个方面:1)菜单中有“文件”,“编辑”,“关于”三个主菜单。2)文件菜单项包括有“新建”“打开”“保存”“另存为”四个功能项,分别用于新建文件,打开文件,保存文件,另存为文件。3)“编辑”中有“剪切,“复制”,“粘贴”,分别用于剪切文字,复制文字,粘贴文字。4)“关于”菜单有关于写字板的制作的一些信息。二、设计概要1.程序设计思路:设计一个NoteBook类,继承自JFrame类,并且在NoteBook类利用了JPanel创建面板窗口(createContentPane),状态栏(createContentPane),利用JMenuBar创建并且实例化菜单栏,通过一些具体的方法实现各个功能键的功能。建立构造函数publicNoteBook();通过该构造函数实现记事本程序的主要功能,运行是在主类中通过调用该构造函数来实现对记事本程序的基本操作。2.功能模块说明图:打打开写字板帮助文件编辑新新建另存为保存剪剪切复复制粘粘贴关于关三、程序详细设计和分析1.创建主类:创建一个NoteBook类继承自JFrame,并且在其中加入主窗口。publicclassJiShiBenextendsJframe{privatestaticfinallongserialVersionUID=-5355432125621015300L;privateStringurl=null;//文件路径privateStringstr=null;//复制或剪切的字符串privateStringSelectionstringSelection=null;privateClipboardclipboard=newClipboard(str);privateTransferabletransferable=null;privateDataFlavorflavor=null;publicJiShiBen(){init();}privatevoidinit(){setTitle(“我的写字板“);setSize(500,600);setContentPane(createContentPane());//添加主面板}2.创建主面板:privateJPanelcreateContentPane(){JPanelpane=newJPanel(newBorderLayout());pane.add(BorderLayout.NORTH,createChocePane());//添加菜单栏pane.add(createAreaPane());//添加文本编辑区域returnpane;}3.构建菜单栏和其下拉菜单:构建菜单栏和其下拉菜单,在下拉菜单中加入子菜单并且进行监听,分别实现对文件的操作功能。点击不同的菜单项时,显示不同的接口。1)菜单栏的创建:privateJPanelcreateChocePane(){JPanelpane=newJPanel();JMenuBarmenuBar1=newJMenuBar();JMenumenu=newJMenu(“文件“);·······JMenuBarmenuBar2=newJMenuBar();JMenumenu2=newJMenu(“编辑“);······JMenuBarmenuBar3=newJMenuBar();JMenumenu3=newJMenu(“帮助“);······pane.add(menuBar1);pane.add(menuBar2);pane.add(menuBar3);menuIt1.addActionListener(newActionListener(){publicvoidactionPered(ActionEvente){testArea.setText(null);}});2)“文件”下拉菜单的实现:JMenuBarmenuBar1=newJMenuBar();JMenumenu=newJMenu(“文件“);menuBar1.add(menu);JMenuItemmenuIt1=newJMenuItem(“新建“);JMenuItemmenuIt2=newJMenuItem(“打开“);JMenuItemmenuIt3=newJMenuItem(“保存“);JMenuItemmenuIt4=newJMenuItem(“另存为“);menu.add(menuIt1);menu.add(menuIt2);menu.add(menuIt3);menu.add(menuIt4);3)“编辑”下拉菜单的实现:JMenuBarmenuBar2=newJMenuBar();JMenumenu2=newJMenu(“编辑“);menuBar2.add(menu2);JMenuItemmenuIt5=newJMenuItem(“复制“);JMenuItemmenuIt6=newJMenuItem(“剪切“);JMenuItemmenuIt7=newJMenuItem(“粘帖“);menu2.add(menuIt5);menu2.add(menuIt6);menu2.add(menuIt7);4)“帮助”下拉菜单的实现:JMenuBarmenuBar3=newJMenuBar();JMenumenu3=newJMenu(“帮助“);menuBar3.add(menu3);JMenuItemmenuIt8=newJMenuItem(“关于写字板“);menu3.add(menuIt8);5)添加并实现监听器:menuIt2.addActionListener(newActionListener(){publicvoidactionPered(ActionEventarg0){finalFileDialogfd=newFileDialog(newJFrame(),“查找文件“,FileDialog.LOAD);fd.setVisible(true);if(fd.getDirectory()!=nullurl=fd.getDirectory()+fd.getFile();try{BufferedReaderin=newBufferedReader(newFileReader(url));for(inti=0;;i++){testArea.append(in.readLine());if(in.read()==-1){break;}elsecontinue;}}catch(FileNot

java 语言 写字板_一个简单的java语言写字板.docx相关推荐

  1. java单机应用程序_一个简单的java桌面应用:单机版IFTTT

    1.项目背景: ifttt是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便.ifttt旨在帮助人们利用各网站的开放API,将 ...

  2. java 序列化 例子_一个简单的Java序列化的例子

    简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对 ...

  3. java仿真软件_一个简单的Java仿真程序

    这是一个简单的仿真程序: 在这个仿真程序中,花园委员会都希望了解每天通过大门进入公园的总人数.每个大门都有一个十字 转门或某种其他形式的计数器,并且任何一个十字转门的计数器递增时,就表示公园中的总人数 ...

  4. java程序样例_一个完整的java程序示例

    一个完整的java程序示例 2020-08-15 05:22 阅读数 74 第一个java程序 package mypack; //相当于一个目录 public class HelloWorld{ p ...

  5. 网易 java社招面试_一个妹子网易Java岗社招面试经历分享

    博客群发软件--用 Windows Live Writer完美发布新浪网易blogcnbl 博客群发软件--用 Windows Live Writer完美发布新浪.网易.blogcn.blogbus. ...

  6. 用java建立一个学生查询系统_一个简单的java学生寝室查询系统

    本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下 前端部分: index.html ahpu freshman dormitory inquiry html,body{ ...

  7. java年龄计算_一个简单的java年龄计算器

    制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个,以下为我的源代码和结果截图: package com.Date; import j ...

  8. java 添加gif图片_一个简单的数据库插入gif图片,帮我看看哪里不对

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 执行的时候异常: Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4 ...

  9. java @valid 密码不一致_一个成熟的Java项目如何优雅地处理异常

    (一)概述 异常处理是一个系统最重要的环节,当一个项目变得很大的时候,异常处理和日志系统能让你快速定位到问题.对于用户或者接口调用者而言,优雅的异常处理可以让调用者快速知道问题所在.本文将介绍如何优雅 ...

最新文章

  1. java synchronized关键字
  2. 如何将某个groupbox中的数据赋值到另一个groupbox_React中的数据和数据流
  3. oracle ins-30131错误
  4. 疲劳驾驶监测方案_【Nano Energy】TENG用于驾驶员驾驶状态监测
  5. IG击败TOP进入春季赛决赛 王思聪督战时吃玉米动作亮了
  6. 对程序员来说最难的是写代码吗?
  7. ffmpeg-20160629-git-bin.7z
  8. 眼底图像血管增强与分割--(2)Gabor滤波算法原理及实现
  9. Caffe学习:pycaffe利用caffemodel进行分类(2)
  10. 如何安装mysql 5.7.17_Linux安装MySQL5.7.17
  11. 初学Codesmith,第一次写模板
  12. python文本模糊匹配
  13. c语言通讯录人数显示,c语言实现通讯录
  14. html用记事本打字显示问号,电脑记事本问号怎么办
  15. Python设置excel单元格格式
  16. CSS Sprite雪碧图应用
  17. 神经影像研究驱动的脑龄估计作为脑疾病和健康状况识别的生物学标记
  18. Java实现神经网络方法
  19. shell中vi的基本操作及Xshell 常用命令
  20. [Python爬虫]爬取新浪理财师股票问答

热门文章

  1. 面试突击81:什么是跨域问题?如何解决?
  2. 简单的麻将和牌算法(以卡五星为例)
  3. 新三板挂牌和上市有什么区别
  4. evernote 云笔记_屏幕快照之旅:Windows版Evernote 4使记笔记变得很愉快
  5. [猫眼看世界]再谈“雷人言论”
  6. 2.RStudio安装
  7. moment 时间格式
  8. Nonlinear Transform
  9. 中国芯,第1篇:一颗“四端口 LVDS转 HDMI2.0 与音频”的芯片
  10. 《新一代SDN——VMware NSX 网络原理与实践》——2.4 与VMware NSX相关的认证