Java编写的文本编辑器

合集下载

MyEclipse快捷键大全

MyEclipse快捷键大全

MyEclipse 7.0快捷键大全[转载]eclipse 常用快捷键1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。

2. 【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。

3. 【Ctrl+/】快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要注释一些东西或取消注释,现在好了,不需要每行进行重复的注释。

4. 【Ctrl+D】删除当前行,这也是笔者的最爱之一,不用为删除一行而按那么多次的删除键。

5. 【Ctrl+M】窗口最大化和还原,用户在窗口中进行操作时,总会觉得当前窗口小(尤其在编写代码时),现在好了,试试【Ctrl+M】快捷键。

查看和定位快捷键在程序中,迅速定位代码的位置,快速找到Bug的所在,是非常不容易的事,Eclipse提供了强大的查找功能,可以利用如下的快捷键帮助完成查找定位的工作。

1. 【Ctrl+K】、【Ctrl++Shift+K】快速向下和向上查找选定的内容,从此不再需要用鼠标单击查找对话框了。

2. 【Ctrl+Shift+T】查找工作空间(Workspace)构建路径中的可找到Java类文件,不要为找不到类而痛苦,而且可以使用“*”、“?”等通配符。

3. 【Ctrl+Shift+R】和【Ctrl+Shift+T】对应,查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符。

4. 【Ctrl+Shift+G】查找类、方法和属性的引用。

这是一个非常实用的快捷键,例如要修改引用某个方法的代码,可以通过【Ctrl+Shift+G】快捷键迅速定位所有引用此方法的位置。

5. 【Ctrl+Shift+O】快速生成import,当从网上拷贝一段程序后,不知道如何import进所调用的类,试试【Ctrl+Shift+O】快捷键,一定会有惊喜。

使用Java代码自动生成工具:Telosys

使用Java代码自动生成工具:Telosys

使⽤Java代码⾃动⽣成⼯具:Telosys在Java开发⼯具中Java代码⾃动⽣成⼯具是很常见的,代码⽣成是模型驱动开发中最简单和最常⽤的技术。

我们使⽤⼀个信息源,⼀种模型形式,并将其与⼀些模板结合起来以获得⽣成的⼯件,例如代码。

代码⽣成是进⼊更⾼级技术的有⽤的⼊门级步骤。

因此,认为创建简单的代码⽣成平台以降低新⽤户的进⼊门槛⾮常重要。

作为⼀个社区,我们希望让尽可能多的开发⼈员从编写重复代码转向寻找更智能的解决⽅案。

如果我们使代码⽣成器易于访问且有效,我们将“拯救”许多开发⼈员并将他们带到模型驱动开发和语⾔⼯程⽅⾯。

因此,像 Telosys 这样可⽤且全⾯的代码⽣成器对语⾔⼯程社区⾮常有价值。

代码⽣成对于为开发⼈员提供通⽤框架⾮常有⽤。

如果每个⼈都通过代码⽣成开始开发,您可以确保所有团队的基础是同质的,并且代码具有令⼈满意的质量(尊重标准、注释、单元测试等)。

当然,另⼀个重点是⽣产⼒。

您可以在组件创建的初始步骤中显着减少⼯作量。

您管理的实体越多,您可以在创建模板上投⼊的时间就越多。

代码⽣成还可⽤于快速⽣成应⽤程序的动态模型。

然后可以在迭代开发周期中重⽤代码。

基于现有数据库的“脚⼿架”⽅法也⾮常有效。

我已经多次使⽤它,⽤于新项⽬或从⼀种语⾔迁移到另⼀种语⾔。

Telosys 与其他代码⽣成器有何不同?⾸先,Telosys 是由开发⼈员为开发⼈员创建的。

它只是旨在务实和⾼效。

概念和发展遵循⼀些基本原则:它必须简单、易于使⽤并保持轻便它必须是 100% 开源的它必须能够为任何类型的语⾔或框架⽣成代码⽣成的代码必须对⼯具零依赖(可以随时停⽌使⽤⼯具⽽不影响项⽬)开发⼈员必须能够使⽤任何⽂本编辑器轻松调整模板开发⼈员必须能够使⽤“轻量级模型”(不需要 UML 模型)定义项⽬实体因此,Telosys 可以被视为⼀种战术⼯具。

这不是⼀个对项⽬组织有重⼤影响的战略选择。

您可以随时安装、使⽤和删除它。

当然,您也可以从项⽬开始到结束使⽤它,并利⽤模型和模板,这取决于您。

Eclipse---可视化界面设计

Eclipse---可视化界面设计

用Eclipse进行可视化Java界面设计2005-04-01 11:58作者:陈先波出处:csdnblog责任编辑:方舟前言最近,Eclipse开源项目终于推出了期待已久的Visual Editor Project(VEP)。

VE项目使得功能强大的eclipse平台在java开发方面又增加了一个可视化java组件开发利器。

它让java开发者再也不用依赖其它的IDE产品来做GUI界面方面的工作。

所有的开发,从应用程序界面到业务逻辑的开发,现在都可以在eclipse平台上完成。

本文将引导开发者如何安装配置并使用Visual Editor。

关于Visual Editor开始介绍之前,来看一个笔者用Visual Editor(以下简称VE)设计的一个java程序界面:怎么样,其可视化的界面设计,一点也不逊于其它的Java可视化界面开发工具。

Visual Editor是一个开源的eclipse编辑器。

它同JDT、PDE等其它eclipse的工具项目一样,是一个全新的eclipse工具项目。

它可以进行可视化的编辑java GUI程序,也能编辑可视化的Java Bean组件。

它能与eclipse的Java Editor集成在一起,当在Visual Editor 中编辑图形界面时,会立即反馈到java Editor中的代码。

反之亦然。

VE是一个可视化开发的一个framework,当前版本的VE是0.5.0RC1版,本版本的VE支持Swing和AWT的可视Java组件开发。

由于这个framework设计的具有通用性,它也可以很容易的实现C++或其它语言下可视化开发。

其将来的版本(从1.0开始),将会支持SWT的开发。

更多的关于Visual Editor的信息,请看参考资料的相关链接。

下载与安装由于Visual Editor是用纯java编写的,所以它应该可以在任何操作系统上运行。

但当前的VE版本是0.5.0RC1,只在windows和linux平台上经过测试。

文本编辑器15款推荐

文本编辑器15款推荐

推荐 15 款很棒的文本编辑器1. Notepad++:这是 Windows 记事本一个最好的替换产品,主要特点包括:自动完成b. 语法高亮c. 拖放特性d. 搜索e. 缩放2. PSPad:PSPad 是一个Windows平台上免费的适合程序员使用的编辑器。

它可以让你保持上一次编辑状态,这样在你下次打开编辑器的时候可以直接显示原来的文件。

此外它还支持通过FTP进行远程编辑,支持多文件的比较等。

a. 语法高亮b. 支持多文档编辑c. 内建 FTP 客户端d. 完整的十六进制编辑器e. 桌面会话保存3. Komodo:Komodo IDE可以在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言—— Perl、PHP 和 Ruby。

代码智能引擎非常可靠。

它扫描所有语言安装找到定制扩展,比如 PEAR 模块。

在项目方面,它支持与 CVS、Subversion 和Perforce 的集成,也允许直接向服务器 FTP 传递代码。

主要特点:a. 代码折叠b. 即时语法检查c. 支持多种语言d. 跨平台支持:Windows, Linux and Mac4. Coda:只支持 Mac 平台的文本编辑器,主要特点:a. 语法高亮b. 行数计算c. 自动完成d. 自动保存代码片段5. Vim:Vim是从 vi 发展出来的一个文本编辑器。

代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

和Emacs并列成为类Unix系统用户最喜欢的编辑器。

6. TextMate:Mac 平台下一款强大的文本编辑器,主要特性:a. 代码自动完成b. 可直接在文档中运行 SHELL 命令c. 支持多种风格d. 支持宏e. 目前已提供 Windows 版本7. TotalEdit:Windows 下的免费编辑器,功能:a. 语法高亮b. 文件浏览器c. 拼写检查d. 扩展工具集成e. 环境定制8. Gedit:这是 Linux 下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现关键字和标识符。

eclipse官方使用教程翻译

eclipse官方使用教程翻译

Eclipse 官方教程Lars vogelVersion 2.3Copyright © 2007 - 2011 Lars Vogel11.11.2011Eclipse java ide本教程java ide eclipse的用法,涉及到eclipse的安装,java程序的创建和使用eclipse的细节,教程基于eclipse3.7(indigo)1. eclipse概览很多人知道eclipse是一个java ide。

Eclipse由开源软件社区创建,并且应用于很多不同的领域,比如作为java或者android的开发环境。

Eclipse工程由eclipse基金会管理,eclipse基金会是一个掌管eclipse工程而且帮助培养开源社区以及一个完整的包含产品和服务的非盈利性并由成员支持的公司。

Eclipse起源于2001年,今天在java开发环境市场占有率达到了65%。

Eclipse能够由各种插件来扩展,因此有很多开源工程和公司通过插件扩展了eclipse,所以使用eclipse也可以开发(eclipse rcp)2开始2.1安装Eclipse需要安装安装java运行时。

我推荐使用java 7(就是java1.7)。

安装eclipse需要从/downloads下载包“eclipse ide for java developers”。

并将它解压到一个目录中,使用的目录名不能包含空格,有时候eclipse出现问题就是因为这个。

解压完了之后就可以使用了,不需要什么额外的安装过程。

2.2开始使用eclipse启动eclipse需要双击eclipse.exe(windows),或./eclipse(linux\mac)。

系统会提示你指定一个workspace。

Workspace是用来存储java工程(关于workspace,后面有详细讲解)。

选择一个空目录然后点击OK,如图:Eclipse会启动然后显示出欢迎页面,点击叉可以关闭欢迎界面,3.eclipse用户界面概览eclipse提供了Perspectives,Views,还有editors,views和editors从属于perspectives。

eclipse快捷键自动生成getset方法,转到所调用的方法

eclipse快捷键自动生成getset方法,转到所调用的方法

eclipse快捷键⾃动⽣成getset⽅法,转到所调⽤的⽅法作⽤最⼤的: Ctrl+⿏标左键在⽅法上往下移然后点,即可转到被调⽤的⽅法上Ctrl+Alt+s r : ⾃动⽣成get set⽅法作⽤域功能快捷键全局查找并替换Ctrl+F⽂本编辑器查找上⼀个Ctrl+Shift+K⽂本编辑器查找下⼀个Ctrl+K全局撤销Ctrl+Z全局复制Ctrl+C全局恢复上⼀个选择Alt+Shift+↓全局剪切Ctrl+X全局快速修正Ctrl1+1全局内容辅助Alt+/全局全部选中Ctrl+A全局删除Delete全局上下⽂信息Alt+? Alt+Shift+?Ctrl+Shift+SpaceJava编辑器显⽰⼯具提⽰描述F2Java编辑器选择封装元素Alt+Shift+↑Java编辑器选择上⼀个元素Alt+Shift+←Java编辑器选择下⼀个元素Alt+Shift+→⽂本编辑器增量查找Ctrl+J⽂本编辑器增量逆向查找Ctrl+Shift+J全局粘贴Ctrl+V全局重做Ctrl+Y 查看作⽤域功能快捷键全局放⼤Ctrl+=全局缩⼩Ctrl+-窗⼝作⽤域功能快捷键全局激活编辑器F12全局切换编辑器Ctrl+Shift+W全局上⼀个编辑器Ctrl+Shift+F6全局上⼀个视图Ctrl+Shift+F7全局上⼀个透视图Ctrl+Shift+F8全局下⼀个编辑器Ctrl+F6全局下⼀个视图Ctrl+F7全局下⼀个透视图Ctrl+F8⽂本编辑器显⽰标尺上下⽂菜单Ctrl+W全局显⽰视图菜单Ctrl+F10全局显⽰系统菜单Alt+- 导航作⽤域功能快捷键Java编辑器打开结构Ctrl+F3全局打开类型Ctrl+Shift+T全局打开类型层次结构F4全局打开声明F3全局打开外部javadoc Shift+F2全局打开资源Ctrl+Shift+R全局后退历史记录Alt+←全局前进历史记录Alt+→全局上⼀个Ctrl+,全局下⼀个Ctrl+.Java编辑器显⽰⼤纲Ctrl+O全局在层次结构中打开类型Ctrl+Shift+H全局转⾄匹配的括号Ctrl+Shift+P全局转⾄上⼀个编辑位置Ctrl+QJava编辑器转⾄上⼀个成员Ctrl+Shift+↑Java编辑器转⾄下⼀个成员Ctrl+Shift+↓Java编辑器转⾄下⼀个成员↓⽂本编辑器转⾄⾏ 搜索作⽤域功能快捷键全局出现在⽂件中Ctrl+Shift+U全局打开搜索对话框Ctrl+H全局⼯作区中的声明Ctrl+G全局⼯作区中的引⽤Ctrl+Shift+G ⽂本编辑作⽤域功能快捷键⽂本编辑器改写切换Insert⽂本编辑器上滚⾏Ctrl+↑⽂本编辑器下滚⾏Ctrl+↓ ⽂件作⽤域功能快捷键全局保存Ctrl+X Ctrl+S全局打印Ctrl+P全局关闭Ctrl+F4全局全部保存Ctrl+Shift+S全局全部关闭Ctrl+Shift+F4全局属性Alt+Enter全局新建Ctrl+N 项⽬作⽤域功能快捷键全局全部构建Ctrl+B 源代码作⽤域功能快捷键Java编辑器格式化Ctrl+Shift+F Java编辑器取消注释Ctrl+\Java编辑器注释Ctrl+/Java编辑器添加导⼊Ctrl+Shift+M Java编辑器组织导⼊Ctrl+Shift+O Java编辑器使⽤try/catch块来包围未设置,太常⽤了,所以在这⾥列出,建议⾃⼰设置。

java使用itext编辑pdf

java使⽤itext编辑pdf ⼀、创建pdf模板 使⽤PDFelement制作pdf模板(数据域的名称对应后⾯插⼊的key)⼆、导⼊maven依赖<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>三、插⼊数据和图⽚到pdf模板1 Map<String, Object> data;//要插⼊的数据2//初始化itext3//设置编码4 BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);5 PdfReader pdfReader=new PdfReader(“pdf模板⽂件路径”);6 PdfStamper pdfStamper=new PdfStamper(pdfReader, new FileOutputStream(“输出pdf⽂件路径”));7 AcroFields form = pdfStamper.getAcroFields();8 form.addSubstitutionFont(baseFont);910//写⼊数据11for(String key:data.keySet()){12 String value=data.get(key).toString();13//key对应模板数据域的名称14 form.setField(key,value);15 }1617//添加图⽚18int pageNo = form.getFieldPositions("img").get(0).page;19 Rectangle signRect = form.getFieldPositions("img").get(0).position;20float x = signRect.getLeft();21float y = signRect.getBottom();22 Image image = Image.getInstance("图⽚路径");23 PdfContentByte under = pdfStamper.getOverContent(pageNo);24//设置图⽚⼤⼩25 image.scaleAbsolute(signRect.getWidth(), signRect.getHeight());26//设置图⽚位置27 image.setAbsolutePosition(x, y);28 under.addImage(image);2930//设置不可编辑31 pdfStamper.setFormFlattening(true);32 pdfStamper.close();PS:合并多个pdf成⼀个1//先删除之前的all.pdf2 String filePath="all.pdf";3 File file=new File(filePath);4 file.delete();5//要合并的所有pdf的路径6 List<String> fileList;7//all.pdf保存路径8 String savepath="all.pdf";9 Document document = null;10try {11 document = new Document(new PdfReader(fileList.get(0)).getPageSize(1));12 PdfCopy copy = new PdfCopy(document, new FileOutputStream(savepath));13 document.open();14for (int i = 0; i < fileList.size(); i++) {15 PdfReader reader = new PdfReader(fileList.get(i));16int n = reader.getNumberOfPages();// 获得总页码17for (int j = 1; j <= n; j++) {18 document.newPage();19 PdfImportedPage page = copy.getImportedPage(reader, j);// 从当前Pdf,获取第j页20 copy.addPage(page);21 }22 }23 } catch (IOException e) {24 e.printStackTrace();25 } catch (DocumentException e) {26 e.printStackTrace();27 } finally {28if (document != null) {29 document.close();30 }31 }。

java课程设计报告-java课程设计

Java 课程设计报告题目:文本编辑器班级:学号:姓名:成绩:日期:年月日目录一、综合设计的目的与要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3二、综合设计正文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31. 系统分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31.1系统开发背景、开发范围、建设目标与必要性开发⋯⋯⋯⋯⋯⋯⋯⋯31.2需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.系统设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.1功能设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.2系统运行环境与开发工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43 . 系统实施⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4 3.1 源程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43.2 .系统测试及部分截图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12三、综合设计总结或结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13四、参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13《文本编辑器》一、综合设计的目的与要求要求在学生能够较熟练使用java 程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。

二、综合设计正文1系统分析1.1系统开发背景、开发范围、建设目标与必要性随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。

1.2需求分析程序设计主要分为两大部分:简单 GUI 设计和程序功能设计。

通过 GUI 设计实现图形用户界面,提供图形菜单,方便用户操作。

使用Java 语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。

值得苦练的55个java小项目

值得苦练的55个java小项目在这个数字化时代,掌握一门编程语言对于个人发展和职业规划至关重要。

而在众多编程语言中,Java是一门广泛使用的编程语言,尤其在企业级应用开发中应用广泛。

为了帮助初学者提升自己的Java编程能力,以下是值得苦练的55个Java小项目。

1.计算器:创建一个简单的图形用户界面(GUI)来模拟一个计算器,并实现基本的加、减、乘、除功能。

2.猜数游戏:编写一个程序,在一定范围内生成一个随机数,然后用户通过输入猜测数字,程序逐步给出用户的猜测是否正确。

3.五子棋游戏:实现一个供两人玩的五子棋游戏,包括游戏规则、棋盘、计分等功能。

4.银行管理系统:设计和实现一个基本的银行管理系统,包括账户创建、存款、取款、转账等功能。

5.图书管理系统:创建一个图书管理系统,包括图书的添加、删除、借出和归还等功能。

6.学生成绩管理系统:创建一个学生成绩管理系统,包括学生信息录入、查询、修改和删除等功能。

7.聊天室应用:使用Socket编程创建一个简单的聊天室应用,允许多个用户之间进行实时通信。

8.网页爬虫:编写一个程序以网络爬虫的方式访问网页并提取所需的信息。

9.文件压缩器:创建一个程序,能够将多个文件压缩为一个压缩文件,并能够解压缩已压缩的文件。

10.文件比较器:编写一个程序,用于比较两个文件的内容,以确定它们是否相同或相似。

11.数据库连接应用:使用Java JDBC连接到数据库,并实现增加、删除和修改数据的功能。

12.日历应用:开发一个简单的日历应用,可以显示当前日期、添加事件和提醒等功能。

13.地址簿应用:创建一个能够存储联系人信息的地址簿应用,包括添加、查找、编辑和删除联系人等功能。

14.天气应用:使用天气API获取实时天气信息,并显示在一个简单的用户界面中。

15.网络速度测试应用:开发一个简单的应用程序,用于测试用户的网络速度。

16.电子邮件客户端:编写一个程序,用于发送和接收电子邮件。

第3章 JDT的使用


新建HelloJava.Java文件
在新建了一个包后,就可以在这个包里面建立Java文件了 。在绝大部分编程教程中,学习的第一段代码都是写类似 “HelloWorld”这样的程序,本书也不例外。第一个Eclipse中 的Java程序只是简单地在控制台上显示“Hello Java”。
3.3.3
编辑Java文件
现在这个Java文件中的代码基本上都是自动建立的, 下面就要开始输入用户自己的代码了。根据下面这段代码修 改HelloJava。3.Leabharlann .4运行HelloJava
在Java透视图中,工具栏上已经显示了一个运行按钮了 ,点击该按钮的下拉箭头,在下拉菜单中选择Run as>Java Application。因为这个程序很简单,一瞬间就完成 了编译和运行。然后在控制台(Console)视图上就显示了运 行的结果——显示一行文字:"Hello Java!"。
3.5.3
代码提示
代码提示是所有专业IDE工具都具有的功能,JDT中的 Java编辑器也不例外。例如在输入到“shell.”的时候,稍 微停一下。
3.5.4
自动补全功能
在输入代码的过程中,还可以发现Java编辑器的另外 一项功能,就是自动补全功能。所谓自动补全,就是编辑器 在用户输入括号前一半时,能自动输入另外一半。
3.5.5
代码美化
“代码即文档”已经是现代软件工程中普遍的共识,对 与开发者之间最直接的文档就是代码。可读性高的代码利于 维护,也利于查找发现问题。代码的可读性取决于程序员的 编程习惯,同时也离不开规范而美观的格式。Eclipse是软 件精英的集大成,自然也融汇进了代码美化的经验。JDT中 就包含了美化代码的功能。
3.2.3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

界面: 代码(编译后可直接运行): //简单的类似记事本的文档编辑器 import java.awt.*; import javax.swing.*; import java.io.*; public class MyTxt { public static void main(String[] args) { Aframe frame = new Aframe(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } } class Aframe extends JFrame { public Aframe() { setTitle("我的记事本"); setSize(WIDTH, HEIGHT); Container contentPane = getContentPane(); JPanel txtPanel = new JPanel(); JPanel comboxPanel = new JPanel(); JPanel textPanel = new JPanel(); txtArea=new JTextArea("",17,40); JScrollPane scrollPane =new JScrollPane(txtArea); txtPanel.add(scrollPane); contentPane.add(comboxPanel,BorderLayout.NORTH); contentPane.add(txtPanel); contentPane.add(textPanel,BorderLayout.SOUTH); //Caidan lan:添加主菜单并设置快捷键 JMenuBar menuBar =new JMenuBar(); setJMenuBar(menuBar); fileMenu=new JMenu("文件(F)"); editMenu=new JMenu("编辑(E)"); typeMenu=new JMenu("格式(O)"); viewMenu=new JMenu("查看(V)"); helpMenu=new JMenu("帮助(H)"); aboutMenu=new JMenu("关于(A)"); fileMenu.setMnemonic('F'); editMenu.setMnemonic('E'); typeMenu.setMnemonic('O'); viewMenu.setMnemonic('V'); helpMenu.setMnemonic('H'); aboutMenu.setMnemonic('A'); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(typeMenu); menuBar.add(viewMenu); menuBar.add(aboutMenu); menuBar.add(helpMenu); //wenjian“文件”菜单的子菜单添加以及设置加速器,监听器 aa=fileMenu.add(new ShowAction("新建")); aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); ab=fileMenu.add(new ShowAction("打开")); ab.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK)); ac=fileMenu.add(new ShowAction("保存")); ac.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); ad=fileMenu.add(new ShowAction("另存为")); ad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK)); fileMenu.addSeparator(); ae=fileMenu.add(new ShowAction("页面设置")); ae.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK)); af=fileMenu.add(new ShowAction("打印")); af.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK)); fileMenu.addSeparator();//分割线 ag=fileMenu.add(new ShowAction("退出")); ag.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); //bianji“编辑”菜单的子菜单添加以及设置加速器,监听器 ah=editMenu.add(new ShowAction("撤消")); editMenu.addSeparator(); ah.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); ai=editMenu.add(new ShowAction("剪切")); ai.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); aj=editMenu.add(new ShowAction("复制")); aj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); an=editMenu.add(new ShowAction("粘贴")); an.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK)); ak=editMenu.add(new ShowAction("删除")); ak.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK)); editMenu.addSeparator(); al=editMenu.add(new ShowAction("查找")); al.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK)); am=editMenu.add(new ShowAction("全选")); am.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK)); //geshi“格式”菜单的子菜单添加以及设置加速器,监听器 zdhh=new JMenu("自动换行(L)"); zdhh.setMnemonic('L'); typeMenu.add(zdhh); ButtonGroup group =new ButtonGroup(); xz=new JRadioButtonMenuItem("选择"); xz.addActionListener(new ShowAction("选择")); xz.setSelected(true); qxxz=new JRadioButtonMenuItem("取消"); qxxz.addActionListener(new ShowAction("取消")); qxxz.setSelected(true); group.add(xz);group.add(qxxz); zdhh.add(xz);zdhh.add(qxxz); bj=typeMenu.add(new ShowAction("背景颜色")); bj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); zt=typeMenu.add(new ShowAction("字体")); zt.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK)); //字体弹出框中的“确定”按钮 que=new Button("确定"); que.addActionListener(new boxlistener()); //chakan“查看”菜单的子菜单添加以及设置加速器,监听器 ztl=viewMenu.add(new ShowAction("状态栏")); ztl.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); //guanyu“关于”菜单的子菜单添加以及设置加速器,监听器 zzxx=aboutMenu.add(new ShowAction("作者信息")); zzxx.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); bq=aboutMenu.add(new ShowAction("版权")); bq.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK)); sm=aboutMenu.add(new ShowAction("声明")); sm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); //bangzhu“帮助”菜单的子菜单添加以及设置加速器,监听器 shm=helpMenu.add(new ShowAction("说明")); shm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); //文本框底部工具栏的设置 toolbar2=new JToolBar(); textPanel.add(toolbar2); text1=new JTextField("就绪",10); text2=new JTextField("欢迎使用该记事本!",10); text3=new JTextField("",10); text4=new JTextField("",10); textPanel.setLayout(new GridLayout(1, 4)); toolbar2.add(text1); toolbar2.add(text2); toolbar2.add(text3); toolbar2.add(text4); text1.setEditable(false); text2.setEditable(false); text3.setEditable(false); text4.setEditable(false);

相关文档
最新文档