源代码转html课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南农业大学

课程论文 ( 设计 )

课程名称面向对象程序设计

论文题目源代码自动转换程序

指导老师肖磊

所在学院信息学院

专业年级2007级计算机科学与技术(2)班提交日期2008年11月20日

华南农业大学计算机科学与技术

《面向对象程序设计》课程设计评分表

题目源代码自动转换程序

专业班级2012级计算机科学与技术(2)班提交日期2014-05-18

小组成员学号姓名工作量% 成绩

(指导老师填写)组长201230740209 何志豪50%

组员201230740224 叶炜杰30%

组员201230740219 孙常鹏20%

小组评分表

评分项目分数1.实现情况(15):完成课程设计要求的情况

2.系统分析(10):对系统的理解及分析的深入程度。

3.系统设计(20):总体设计、具体设计、数据结构设计等。

4.程序设计(30):面向对象程序设计方法与编程工具掌握水

平。

5.界面设计(15):界面美观程度、操作方式友好程度等。

6.论文撰写(10):论文撰写的规范性、合理性等等。

小组总成绩:

教师签名日期

一、系统分析

1.1问题描述

在写Blog的时候,常常需要粘贴Java及其它源代码,但是从IDE中复制过去的源码

为纯文本格式的。IDE中的高亮语法语法全部丢失,贴出去全成黑白的了。看起来很难看,也不易于阅读。源程序代码是纯文本文件,本课程设计的目标是编写一个应用程序可以将源程序文件转换为HTML的网页文件。

1.2系统功能分析

1.能够处理的源程序包括:Java源程序(扩展名.java)、C源程序(扩展名.h和.c)。鼓励能处理其他源程序代码。

2.提供一个基于Java Swing实现的GUI界面,类似Windows的资源管理器。在该界面中选择一个或多个源程序文件进行转换。

3.转换时要求按语法分色。因此需要该对转换进行设置,如:目标文件名、字体、关键字颜色等。

4.得到的HTML文件,用浏览器查看如下图所示。另外要求每行有行号。

开发平台及工具介绍:

Neatbeanse,命令行cmd,极智截图2008(后期排版),ACDSee(后期排版)。

二、系统设计

1.1系统总体结构设计

主要从语法,转换,界面三方面进行设计。

关于语法分色:

1. 为需要的处理源程序的程序设计语言定义一个配置文件,在配置文件中需要包括:

(1)该语言的关键字

(2)配色方案,如:关键字字体的颜色、大小;标识符的字体颜色、大小,......

配置文件的格式可以是:XML或Java的properties文件

2.处理时,读取配置文件和源程序文件,创建文件解剖器实现语言关键字的分析,主要用IO包与UTIL包中的“java.io.BufferedReader;java.io.File;java.io.FileReader; java.io.IOException;java.io.InputStream;java.io.InputStreamReader;java.io.Reade r;java.io.StringReader;.URL;java.util.Hashtable;java.util.StringTokeniz er”对源文件进行解剖并与配置关键字的文件进行比对,如果存在则进行高亮操作。

3. 首先要理解HTML文件和源程序文件都是文本文件,因此使用Java的文本输入流读入,文本输出流输出。中间因为要分词,所以可能用到:Scanner、Buffer、正则表达式等。

4.输出时:首先生成如下的HTML文件结构

.......

......

格式化后的文本放置在BODY部分。

1.2界面设计:实现用Java Swing构造的GUI界面,进行图形化操作与显示。

1.综合利用各种对象如JMenuBar、JMenu、JMenuItem、JButton、JPanel、JComponent、JComboBox、JLabel、JTextField、BorderLayout、Connection、JTextArea进行界面的规划布局;

解决办法:使用BorderLayout中的null 的布局方式,对每个元件进行大小和程序界面的相对坐标定位,如:实例名称.setBounds(x,y,a,b)。

2.对界面中必要的元件实例编写事件驱动如JButton、JComboBox等;

解决办法:在该必要的元件调用方法(get + “元件名称”)中直接添加ActionListener(监

听器)方法;

即:

实例.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { //事件触发执行代码

}

3.实现用Java Swing构造的GUI界面,进行图形化操作与显示,通过按钮设置事件驱动,还有监听器对象。程序提供界面能够读取文件的信息,采用简单人性化的操作界面图形

窗口的生成使用各种的方法,调用方便。

4.用JFileChooser创建文件读取与保存对话框。其中的文件选择器的设计较为重要。

JFileChooser chooser = new JFileChooser(currentDirectory);

//JFileChooser chooser2 = new JFileChooser();

chooser.setDialogTitle("Open Source Code");

chooser.setFileFilter(new FileFilter() {

public String getDescription() {

return "*.java && *.c && *.h && *.cpp && *.cs";

}

public boolean accept(File f) {

return f.isDirectory() || f.getName().toLowerCase().endsWith(".java")||

相关文档
最新文档