机,而是一个手机操作系统开发平台)。
这个平台貌似会对 Java ME有些冲击,按照网上的消息,Android 包括:1、高度定制的 Linux 操作系统内核及智能手机硬件驱动支持;2、经过 Google 修改过的 Java 虚拟机 Dalvik,这里的性能比 SUN 的 Hotspot 高,支持大部分 Java 核心类库;3、大量智能手机开发核心类库;4、大量现成的智能手机应用软件;5、基于 Eclipse 的开发环境。
也是按照网上的说法,Java EE 提供了统一的编程平台,但不能调用操作系统的资源;而 Android 下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。
Java 开发工具很多,个人使用的 IDE 有 Eclipse 和 NetBeans。
Eclispe 比较流行,各种插件也多,当然用起来也不错;NetBeans 现在也是越做越好了,介绍这两个 IDE 主要是开源的,当然还有其它工具如 JBuilder、IntelliJ、JCreator。
这些 IDE 各有优势劣势,根据你开发的项目来选择了。
2 北京邮电大学世纪学院实习报告JAVA 编程环境:一.下载与安装开发工具箱(JDK)1.javaTM SE Development Kits即 JDK网址:http://java.sun.com/javase/downloads/index.
jsp2.设置环境变量右击 我的电脑-gt属性-gt高级-gt环境变量Path:系统在任何路径下都可以识别 Java 命令需要设置的变量Path: C:Progran Filesjavajdk1.6.0_01binclasspath:为 java 加载类包括 classlib的路径,只有类在 classpath 中 Java 命令才能识别classpath: .Progran Filesjavajdk1.6.0_01libdt.jar Progran Filesjavajdk1.6.0_01libtools.jarJAVA_HOME:java 的安装路径JAVA_HOME: Progran Filesjavajdk1.6.0_01二.下载 Java 开发工具1.下载 EclipseEclipse3.3网址:http://www.eclipse.org/点击『Download Eclipse』找到 『Eclipse Classic 3.3』下载下载完后,解压即可使用2.Eclipse 插件1 XMLBuddy:编辑 xml 文件下载地址为 http://www.xmlbuddy.com2 Fat Jar:打包插件可以方便的完成各种打包任务,可以包含外部的包等 下载地址为:http://fjep.sourceforge.net/3 Log4E:Log4j 插件,提供各种与 log4j 相关的任务Log4j 专用于为程序输入调试信息 下载地址为:http://log4j.jayefem.de/index.php/Main_Page4 Lomboz:Ecilpse 的一个 J2EE 的插件,可以将很多 java 应用服务器J2EE 组件和 web 应用开发集成到 Eclipse 中,可以帮助 Java 开发者使用 Eclipse 建立,测试和 部署 J2ee 应用。
支持
jsp 编写,包括语法着色和语法检查: 下载地址为:http://forge.objectweb.org/projects/lomboz5 MyEclipse:J2EE 开发插件,支持
jsp,EJB数据库操作 下载地址为:http://www.myeclipseide.com6 TomcatPlugin:支持 Tomcat 插件 下载地址为:http://www.sysdeo.com/eclipse/tomcatPlugin.html7 语音包:下载地址为:http://download.eclipse.org/eclipse/downloads 3 北京邮电大学世纪学院实习报告 第二章 程序的概括设计 画出流程图一、概要设计Java 程序编辑器是:图形界面、线程、流与文件等技术的综合应用。
图形界面的实现:考虑到简单、实用、高效等特点,就选择了 AWT 来完成实现,在选择组件上,文本编辑区就选用了 TaxtArea 作为主要的部件。
线程实现文件自动保存:在相关的参考书上查阅到在 Time 类中有一个 schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了 Time类中的 schedule 方法来实现文件自动保存及备份功能。
文件操作的实现:利用了字符文件流 FileReader 和 FileWriter 类来实现。
由于 Java 的特性,可能用任何一个编辑器来编辑,于是就将 Windows 中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。
在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。
主类完成对象的实例化及显示。
这们设计的优点是:条理清晰,容易理解,容易修改。
这样设计的缺点是:不利于共享类中的方法。
二、程序整体设计说明2.1、程序框架图2.2、程序中所用类说明 4 北京邮电大学世纪学院实习报告(1)用户自定义类类名:EditInstantiation作用:实例化对象继承的父类:WindowAdapter主要成员变量:Frame myFrm // 定义主窗体TextArea myText // 定义文本编辑区Dialog myDlgFind,myDlgFindont //查找及设置字体对话框TextField TFfind TFreplace TffontSize//查找对话框和字体窗体中的文本行Button BfontOK Bfind Breplace Bnext Bcancel //定义和创建各按钮Label Lf Lr Ls //定义和创建各标签MenuBar Mbbar //定义和创建主菜单Menu MfileMeditMformationMhelp //定义和创建主菜单中的选项 Toolkit toolKit Clipboard myCB //剪切板对象 FileDialog myFDlg //定义文件对话框 Choice ChfontName //定义和创建字体选择框 private int VIindex 1 //构成文件名后缀变量 private String VSsubFixStrquot.javaquot //构成文件名扩展名变量 private String VSmyFileName quotDocument1quotVSmyBFileName //文件名及备份文件名变量 private File VFmyFilenew FileVSmyFileNameVIindexquot.javaquot //文件名变量 private int VIsearchPosition0 //查找位置指针 private Timer VTtime //实例化一个 Time 类 private int VImin1 // schedule 方法中的一个时间参数 private int VItypeJOptionPane.INFORMATION_MESSAGE //提示对话框类型 private String VStitle //提示对话框标题 private String VSmessage //提示对话框信息 private boolean VBchanged true //改变字体的一个标识 private int VIfontSizeMin 8 VIfontSizeMax 40 VIfontSizeChangedStep 2 //设置字体大小及步长主要成员方法:public void init //初始化各部件菜单的定义和事件的监听 5 北京邮电大学世纪学院实习报告public void displayEdit //显示窗体及调用 Time 中的 schedule 方法public void windowClosing //关闭窗体public void save //保存文件方法a.内部类类名:KeyEvents作用:实现菜单的事件的响应功能继承的父类:KeyAdapter主要成员变量:无成员方法:actionPerformed、keyPressedb.内部类类名:FindKeyEvent作用:实现查找中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:actionPerformed c.内部类类名:fontEvent作用:实现字体中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:ItemListenerActionListener2.3、实现接口方法本程序用到的方法有:schedule 其方法描述如下:schedule事件,启动时间,间隔时间;2.4、线程应用本程序为文本编辑器,为实现自动更新,应用到了线程,每隔 1 分钟对文件进行自动更新2.5、异常处理说明(1)打开文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常(2)保存文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常 第三章 详细设计程序部分源代码及注释// 6 北京邮电大学世纪学院实习报告// class name :Edit// implements :none// extends :none// attribute :public// founction :entrance of the class//public class Edit //主类 public static void mainString args EditInstantiation myEdit new EditInstantiation myEdit.init //初始化 myEdit.displayEdit //显示窗体 //// class name :EditInstantiation// implements :none// extends :WindowAdapter// attribute :default// founction :EditInstantiation of the main class//class EditInstantiation extends WindowAdapter //默认属性类 //define sources 定义各部件 Frame myFrmnew Framequot我的编辑器quot //定义窗体 TextArea myTextnew TextArea //定义窗体 Dialog myDlgFindnew DialogmyFrmquot查找quottrue //定义查找对话框 Dialog myDlgFindontnew DialogmyFrmquot字体quottrue //定义字体对话框 TextField TFfindnew TextField30//定义查找对话中的查找输入框 TextField TFreplacenew TextField30 //定义查找对话中的替换输入框 TextField TFfontSizeTFfontDemo//定义字体大小文本框和示例框 Choice CHfontName//定义字体大小选择框 List LTfontSize //定义字体大小标签 Button BfontOKBfontCancel //定义字体大小对话中的确定及取消按钮 Button Bfindnew Buttonquot查找quot//定义查找对话中的查找按钮 Button Breplacenew Buttonquot替换quot//定义查找对话中的替换及取消按钮Button Bnextnew Buttonquot下一个quot//定义查找对话中的下一个及取消按钮 Button Bcancelnew Buttonquot取消quot//定义查找对话中的确定及取消按钮 Label Lfnew Labelquot查找内容:quot 7 北京邮电大学世纪学院实习报告 Label Lrnew Labelquot替换为: quot Label Lsnew Labelquot字体大小:quot FileDialog myFDlg Clipboard myCBToolkit.getDefaultToolkit.getSystemClipboard //剪切板对象 Menu MfileMeditMformationMhelp MenuBar MBbar //define varities //定义各变量 private int VIindex 1 private String VSsubFixStrquot.javaquot private String VSmyFileName quotDocument1quotVSmyBFileName private File VFmyFilenew FileVSmyFileNameVIindexquot.javaquot private int VIsearchPosition0 private Timer VTtime private int VImin1 // parameter in time schedul private int VItypeJOptionPane.INFORMATION_MESSAGE private String VStitle private String VSmessage // flag of the changeing private boolean VBchanged true // the scope of the font private int VIfontSizeMin 8 VIfontSizeMax 40 VIfontSizeChangedStep 2 // //founction name:init //parameter :none //attribute :public //founction :initia all compont // public void init //初始化各部件 //------------------ set menu ------------------ MBbarnew MenuBar myFrm.setMenuBarMBbar Mfilenew Menuquot文件quot Meditnew Menuquot编辑quot 8 北京邮电大学世纪学院实习报告 Mformationnew Menuquot格式quot Mhelpnew Menuquot帮助quot MBbar.addMfile MBbar.addMedit MBbar.addMformation MBbar.addMhelp //文件菜单 add File menu Mfile.addnew MenuItemquot新建quotnew MenuShortcutKeyEvent.VK_N Mfile.addnew MenuItemquot打开quotnew MenuShortcutKeyEvent.VK_O Mfile.addnew MenuItemquot保存quotnew MenuShortcutKeyEvent.VK_S Mfile.addnew MenuItemquot另存为quot Mfile.addSeparator//分隔线 Mfile.addnew MenuItemquot退出quotnew MenuShortcutKeyEvent.VK_E //编辑菜单 add Edit menu Medit.addnew MenuItemquot剪切quot//newMenuShortcutKeyEvent.VK_X Medit.addnew MenuItemquot复制quot//newMenuShortcutKeyEvent.VK_C Medit.addnew MenuItemquot粘贴quot//newMenuShortcutKeyEvent.VK_V Medit.addnew MenuItemquot删除quot//newMenuShortcutKeyEvent.VK_D Medit.addSeparator//分隔线 Medit.addnew MenuItemquot查找/替换quotnewMenuShortcutKeyEvent.VK_F Medit.addSeparator//分隔线 Medit.addnew MenuItemquot全选quotnewMenuShortcutKeyEvent.VK_A //格式菜单 add Formation menu Mformation.addnew MenuItemquot字体quotnewMenuShortcutKeyEvent.VK_U //帮助菜单 add Formation menu 9 北京邮电大学世纪学院实习报告 Mhelp.addnew MenuItemquot关于作者quot //----------------- menu add end ------------------------- //add Menu Action Listener Mfile.addActionListenernew KeyEvents Medit.addActionListenernew KeyEvents Mformation.addActionListenernew KeyEvents Mhelp.addActionListenernew FindKeyEvent //--------------------------- Find dialog-----------------myDlgFind.setSize350115myDlgFind.setLocation250150myDlgFind.setLayoutnew FlowLayoutFlowLayout.CENTERmyDlgFind.setBackgroundColor.LIGHT_GRAYBfind.setEnabledfalse Breplace.setEnabledfalse Bnext.setEnabledfalsemyDlgFind.addLfmyDlgFind.addTFfindmyDlgFind.addLrmyDlgFind.addTFreplacemyDlgFind.addBfindmyDlgFind.addBreplacemyDlgFind.addBnextmyDlgFind.addBcancel myDlgFind.addWindowListenernew WindowAdapter public void windowClosingWindowEvent e myDlgFind.setVisiblefalse //为查找对话框窗体注册事件监听TFfind.addKeyListenernew KeyEvents//注册事件监听Bfind.addActionListenernew FindKeyEventBreplace.addActionListenernew FindKeyEventBcancel.addActionListenernew FindKeyEventBnext.addActionListenernew FindKeyEvent //--------------- end a.