源代码转html课程设计报告Word格式文档下载.docx

上传人:b****2 文档编号:15061956 上传时间:2022-10-27 格式:DOCX 页数:21 大小:568.10KB
下载 相关 举报
源代码转html课程设计报告Word格式文档下载.docx_第1页
第1页 / 共21页
源代码转html课程设计报告Word格式文档下载.docx_第2页
第2页 / 共21页
源代码转html课程设计报告Word格式文档下载.docx_第3页
第3页 / 共21页
源代码转html课程设计报告Word格式文档下载.docx_第4页
第4页 / 共21页
源代码转html课程设计报告Word格式文档下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

源代码转html课程设计报告Word格式文档下载.docx

《源代码转html课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《源代码转html课程设计报告Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。

源代码转html课程设计报告Word格式文档下载.docx

姓名

工作量%

成绩

(指导老师填写)

组长

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.提供一个基于JavaSwing实现的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.Reader;

java.io.StringReader;

.URL;

java.util.Hashtable;

java.util.StringTokenizer”对源文件进行解剖并与配置关键字的文件进行比对,如果存在则进行高亮操作。

3.首先要理解HTML文件和源程序文件都是文本文件,因此使用Java的文本输入流读入,文本输出流输出。

中间因为要分词,所以可能用到:

Scanner、Buffer、正则表达式等。

4.输出时:

首先生成如下的HTML文件结构

<

HTML>

HEAD>

.......

/HEAD>

BODY>

......

/BODY>

<

/HTML>

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

1.2界面设计:

实现用JavaSwing构造的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(newActionListener(){

publicvoidactionPerformed(ActionEvente){

//事件触发执行代码

}

3.实现用JavaSwing构造的GUI界面,进行图形化操作与显示,通过按钮设置事件驱动,还有监听器对象。

程序提供界面能够读取文件的信息,采用简单人性化的操作界面图形窗口的生成使用各种的方法,调用方便。

4.用JFileChooser创建文件读取与保存对话框。

其中的文件选择器的设计较为重要。

JFileChooserchooser=newJFileChooser(currentDirectory);

//JFileChooserchooser2=newJFileChooser();

chooser.setDialogTitle("

OpenSourceCode"

);

chooser.setFileFilter(newFileFilter(){

publicStringgetDescription(){

return"

*.java&

&

*.c&

*.h&

*.cpp&

*.cs"

;

publicbooleanaccept(Filef){

returnf.isDirectory()||f.getName().toLowerCase().endsWith("

.java"

)||

1.3系统各个类及类之间关系设计

1.4数据存储的设计(文件等)

基本数据存储说明:

支持代码格式:

包括java,c,c++,c#等四种源代码文件。

(原理上可以更多)

输入:

以*.java,*.c,*.h,*.cs文件存储的源代码

输出:

文件格式为*.html

语言关键字:

利用hashmap分类型存储关键字。

三、系统实现

系统运行事务过程可以用以下关系表示

输入设定

程序主界面

配置文件选取

源代码文件选取

}

代码转换

输出html文件

主界面程序代码片段(主要是面板与面板之间,面板与组件之间的嵌套,监听器的实现):

publicclassJava2HtmlApplication{

privatefinalJFrameframe;

privatefinalJButtonbExit;

privatefinalJava2HtmlOptionsPaneloptionsPanel=newJava2HtmlOptionsPanel();

publicJava2HtmlApplication(){

finalJTabbedPanetabbedPane=newJTabbedPane();

tabbedPane.addTab("

FileConversion"

newFileConversionPanel(optionsPanel).getContent());

DirectTextConversion"

newDirectTextConversionPanel(

optionsPanel,

newIStatisticsView(){

publicvoidsetStatistics(JavaSourceStatisticstatistic){

//nothingtodo

}).getContent());

bExit=newJButton("

Exit"

bExit.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.exit(0);

});

finalJPanelsouthPanel=newJPanel(newFlowLayout(FlowLayout.RIGHT));

southPanel.add(bExit);

finalJPanelpOptions=GuiTools.createBorderedPanel("

Options"

pOptions.setLayout(newBorderLayout());

pOptions.add(optionsPanel.getContent(),BorderLayout.CENTER);

JPanelp=newJPanel(newBorderLayout());

p.add(pOptions,BorderLayout.NORTH);

p.add(Box.createVerticalGlue(),BorderLayout.CENTER);

frame=newJFrame(Version.getJava2HtmlConverterTitle());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(newBorderLayout(4,4));

frame.getContentPane().add(p,BorderLayout.EAST);

frame.getContentPane().add(tabbedPane,BorderLayout.CENTER);

frame.getContentPane().add(southPanel,BorderLayout.SOUTH);

……

文件读取代码片段(用FileReader读取源文件,JFileChooser创建读取文件对话框,文件选择器的应用较为关键):

JFileChooserchooser=newJFileChooser(currentDirectory);

*.java

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1