java实现迷你计算机,用JAVA写一个迷你编辑器.doc
用JAVA写一个迷你编辑器
用JAVA编写一个迷你编辑器
WINDOWS的记事本程序是非常方便的一个文字处理工具,用它来编辑纯文本文件快捷而灵巧。我用JAVA写了一个编辑器程序,模仿“记事本”的功能。这不是为了替代记事本,而是因为下列两个目的:
1 编辑器中拥有的功能是一切与文字相关的软件的基本功能,其许多功能的实现方法可以为其它程序所借鉴。甚至可以发展成一个独立的实用程序。2 因为编程中用到多方面的知识,所以可作为初学者综合所学知识的一次实践机会。
本程序命名为Notepad.java,用命令行:java Notepad 运行后呈现如下的界面图:
一 本程序的功能
本程序只有一个菜单条和一个带滚动条的编辑区域。菜单条有如下功能”
文件菜单,包含新建、打开、保存和另存为,退出等菜单项,用法与WINDOWS的记事本相仿,如弹出文件的打开对话框、保存对话框等。
编辑菜单,用以完成文字的复制、粘贴和删除任务。
格式菜单,设置文本自动换行、设置字体和输入当前日期。
显示帮助的内容和Abort信息。
二 用户界面的设计
编程分两步走。第一步先设计好如上的用户界面,编译通过后程序有了一个空壳。第二步在逐个给菜单项写功能代码,就是给每个菜单项编写一个监听器类,并添加到相应的菜单项上。
㈠ 菜单和文本框的设计
菜单和菜单项的声明在类开始处定义,创建菜单和文本区则在类的构造器中完成。菜单的声明如下:
public class Notepad extends JFrame { private JTextArea text = new JTextArea(30, 48); private Clipboard clipbd = ? getToolkit().getSystemClipboard(); private String fileName = "未命名" ;private boolean isNamed = false ;private String content = "" ;
private JMenuBar mb = new JMenuBar(); private JMenu ?file = new JMenu("文件") , ?edit = new JMenu("编辑"), ?style= new JMenu("格式"), ?help = new JMenu("帮助");
private JMenuItem fileItem[] = {?new JMenuItem("新建"), ?new JMenuItem("打开"), ?new JMenuItem("保存"), ?new JMenuItem("另存为"),?new JMenuItem("退出"),}; private JMenuItem editItem[] = {?new JMenuItem("复制"), ?new JMenuItem("粘贴") , ?new JMenuItem("删除"), ?new JMenuItem("全选"),} ;private JMenuItem styleItem[] = {?new JMenuItem("自动换行"), ?new JMenuItem("字体") , ?new JMenuItem("日期"),?new JMenuItem("Java"),} ;private JMenuItem helpItem[] = {?new JMenuItem("帮助"), ?new JMenuItem("关于"),} ;
声明了文本区text作为编辑区域,声明了剪贴板对象Clipboard clipbd用于编辑操作。fileName保存“打开或保存”的文件名,content? 用来保存从文件读写的内容,boolean isNamed 用来记录编辑区中的内容是否和一个文件相关联。如果文件已经有了名字,“保存”菜单就直接写入该文件,否则要先打开“保存对话框”。新建文件时 isNamed 为假,窗口标题显示“未命名”。接着就生命了菜单条mb 和 四个菜单file,edit,style, help 以及他们的菜单项。用fileItem[]来定义菜单项,便于以后要扩充菜单,这要增加一行 new JMenuItem("XXX"),和添加一个监听类XXXl 就可以了。、
㈡ 在构造器中构建视窗
在构造器中创建菜单,假如文本区,各菜单项添加监听器。
public Notepad() {?setJMenuBar(mb); // 窗口设置菜单条?Container cp = getContentPane() ;?cp.add(new JScrollPane(text)); // 添加有滚动条的文本区?text.set
java实现迷你计算机,用JAVA写一个迷你编辑器.doc相关推荐
- Java IO练习--在程序中写一个“HelloJavaWorld你好世界“输出到操作系统文件Hello.txt文件中
package com.kj.test;import cn.hutool.core.io.IoUtil;import java.io.File; import java.io.FileOutputSt ...
- 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...
- java 手编线程池_死磕 java线程系列之自己动手写一个线程池
欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. (手机横屏看源码更方便) 问题 (1)自己动手写一个线程池需要考虑哪些因素? (2)自己动手写 ...
- java 同步锁_死磕 java同步系列之自己动手写一个锁Lock
问题 (1)自己动手写一个锁需要哪些知识? (2)自己动手写一个锁到底有多简单? (3)自己能不能写出来一个完美的锁? 简介 本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁. ...
- 彩票中奖java程序 随机30选7_写一个彩票程序:30选7
1. 写一个彩票程序:30选7.随机(1~30之间)生成7个随机数,注意不能重复.然后从键盘输入7个数,对比7个数是否与随机数有相同的.最后显示"中了几个号".同时,如果中了7个号 ...
- 深读源码-java线程系列之自己手写一个线程池
问题 (1)自己动手写一个线程池需要考虑哪些因素? (2)自己动手写的线程池如何测试? 简介 线程池是Java并发编程中经常使用到的技术,那么自己如何动手写一个线程池呢?本文将手把手带你写一个可用的线 ...
- 如何手写一个迷你版的RPC
点击上方"Java后端技术栈"关注 持续推送技术干货 前言 在实际后台服务开发中,比如订单服务(开发者A负责)需要调用商品服务(开发者B负责),那么开发者B会和A约定调用API,以 ...
- 手写一个迷你版Spring MVC框架
前期准备 我这里要写的是一个迷你版的Spring MVC,我将在一个干净的web工程开始开发,不引入Spring,完全通过JDK来实现. 我们先来看一眼工程: 工程代码结构 第一:在annotatio ...
- 从零开始写一个迷你版的Tomcat
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | www.jianshu.com/p/dce1ee01fb ...
最新文章
- java adobe pdf转word_原来PDF转Word这么简单!现在才知道
- ASP.NET超凡的代码控制
- Algorithm之OP:OP之GA遗传算法思路理解相关配图资料
- 20181009-9 每周例行报告
- 云服务器Linux jdk安装详解(centos8)
- boost::mpl模块实现replace相关的测试程序
- VTK:Filtering之VectorFieldNonZeroExtraction
- Java中Arrays.toString ()打印二维数组及Array数组的常用操作
- docker 管理工具_详解Docker可视化管理工具shipyard--部署教程及功能展示
- 【最新】2021年自然语言处理 (NLP) 算法学习路线!
- 免费python自学攻略-Python自学攻略
- 配置STP、RSTP以及负载均衡
- 【有利可图网】推荐!设计师必备配色宝典!
- 软件设计师教程-倪奕文-专题视频课程
- k3金蝶 java版本_金蝶KIS旗舰版和K3wise的不同
- 速成! | 遗传算法详解及其MATLAB实现
- EDA工具对芯片产业的重要性知识科普
- 基于PHP的教学管理系统_WEB管理系统_MySQL应用
- GATK / 体细胞短变异检测工具Mutect2的使用
- 基因组所三代单分子测序PacBio完成技术升级—超长读长助力基因组学研究
热门文章
- Linux 命令之 unzip -- 解压缩文件
- python range函数范围_Python range函数
- mysql查看主键别名_MySQL怎么查看约束的别名呢?
- python比较两张图片是否一样_opencv_判断两张图片是否相同
- c语言编译后找不到exe,在VS 2015命令提示符中找不到c – rc.exe
- java实现线程的方式_java多线程实现的四种方式
- LeetCode题集大全
- c语言编程数学黑洞,一个数学黑洞——6174
- scanf在c语言中的作用是什么?
- APP 文档服务器,app服务器