RationalRose-详细介绍和例子详细操作

RationalRose-详细介绍和例子详细操作
RationalRose-详细介绍和例子详细操作

使用Rational Rose 进行UML可视化建模

本课程以某所大学的《在线选修课程管理系统》为例来介绍怎样使用Rational Rose 进行UML可视化建模。

最终递交三个文件:regist.mdl, regist.sql, VB的代码或Java的代码。

内容:

一、系统描述 (2)

二、用例图(Use Case View) (2)

三、活动图(Activity Diagram)(建立选修课程目录表) (5)

四、相关的包和类以及简单类图 (11)

五、用例实现图(Use Case Realization Diagram) (13)

六、顺序图(Sequence Diagram)与合作图(Collaboration Diagram) (15)

七、类图中的关系(Relationships) (18)

八、类图中的操作与属性 (20)

九、类图中的泛化 (22)

十、状态图(Statechart Diagram) (26)

十一、构件图(Component Diagram) (31)

十二、部署图(Deployment Diagram) (34)

十三、生成程序代码 (35)

十四、创建数据库设计 (40)

十五、附件1:转换后的Visual Basic程序 (44)

十六、附件2:转换后的Java程序 (45)

十七、附件3:生成的SQL语句 (46)

一、系统描述

1.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。

2.教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。

2.学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。人数达到10人时,停止学生登记注册此门课程;3.学生选课结束后,系统自动取消人数少于三人的课程。

4.学生按最终的课程表到财务处办理收费手续(billing system)。

5.教师可查询所教课程的学生花名册(roster)。

6.教务管理人员维护学生、教师和课程的信息。

二、用例图(Use Case View)

1.《在线选修课程管理系统》中的执行者(Actors)

●注册选修课程的学生;

●教授选修课程的教师;

●教务管理人员必须汇总选修课程情况,制作课程表;

●教务管理人员必须维护关于课程、教师和学生的所有信息;

●财务管理系统从本系统中取出收费信息。

2.使用Rational Rose 创建执行者(Actors)

图1

1)右击browser框中的Use Case View包,弹出快捷菜单;

2)选择New——Actor项;

3)输入执行者的名字;(如出错,可用Rename命令更改)

4)如果文档窗口不可见,选择屏幕上方的View——Documentation菜单;

5)在browser框中选中所需执行者;

6)将光标置于文档框中,输入相应文档。

3.《在线选修课程管理系统》中的用例(Use Case)

●注册选修课程(学生);

●选择教授的选修课程(教师);

●索取课程花名册(Roster)(教师);

●维护课程信息(教务管理人员);

●维护教师信息(教务管理人员);

●维护学生信息(教务管理人员);

●创建课程目录(教务管理人员);

4.使用Rational Rose 创建用例(Use Case)

图2

1)右击browser框中的Use Case View包,弹出快捷菜单;

2)选择New——Use Case项;

3)输入用例的名字;(如出错,可用Rename命令更改)

4)如果文档窗口不可见,选择屏幕上方的View——Documentation菜单;

5)在browser框中选中所需用例;

6)将光标置于文档框中,输入相应文档。

5.使用Rational Rose 创建主用例图(Main Use Case Diagram)

1)双击browser框中的Use Case View包中的Main条目,打开主用例图;

2)单击选中browser框中的执行者,并将其拖到主用例图中;

3)重复第2)步,直到完成所需的工作为止;

4)

单击选中browser 框中的用例,并将其拖到主用例图中; 5)

重复第4)步,直到完成所需的工作为止; 6)

在工具条中选择单向关联(Unidirectional Association)图标; 7) 单击一个执行者,并拖到相应的用例上;或单击一个用例,并拖到相应的执

行者上。

Billing System

Register for courses

Request course roster

Maintain student information Maintain professor

information Create course catalogue

Registrar

Maintain course information

图3

三、活动图(Activity Diagram)(建立选修课程目录表)

图4

1.使用Rational Rose 创建活动图(Activity Diagram)

1)右击browser框中的Use Case View包,弹出快捷菜单;

2)选择New——Activity Diagram项;

3)输入活动图的名字;(如出错,可用Rename命令更改)

4)双击browser框中的Activity Diagram名称,打开该图。

2.使用Rational Rose 创建活动(Activity)

1)在工具条中选择Activity图标;

2)在活动图(Activity Diagram)中单击要放置活动(Activity)的位置;

3)输入活动名字;(如出错,可用Rename命令更改)

4)在工具条中选择State Transition图标;

5)单击一个活动,并将其拖到相应的活动上。

图5

3.使用Rational Rose 创建决策点(Decision Points)

1)在工具条中选择Decision图标;

2)在活动图(Activity Diagram)中单击要放置决策点的位置;

3)输入决策的名字;(如出错,可用Rename命令更改)

4)在工具条中选择State Transition图标;

5)单击一个活动,并将其拖到相应的决策点上;

6)在工具条中选择State Transition图标;

7)单击一个决策点,拖至拐角处单击左键,再将其拖到相应的活动上;

8)双击此条转换线,打开规格设定框;

9)选择Detail 标签页;

10)在Guard Condition框中输入条件No;

11)点按OK按扭,关闭规格设定框;

12)在此条转换线上单击左键,选中此条转换线;

13)点按屏幕上方的Format:Line Style:Rectilinear菜单;

14)调整这条线,使其美观。

图6

4.使用Rational Rose 创建同步条(Synchronization Bar)

1)在工具条中选择Horizontal Synchronization图标;

2)在活动图(Activity Diagram)中单击要放置同步条的位置;

3)在工具条中选择State Transition图标;

4)完成下图。

图7

5.使用Rational Rose 创建泳道( Swim lanes)

1)在工具条中选择Swim lanes图标;

2)在活动图(Activity Diagram)中单击要放置泳道的位置;

3)双击泳道,打开规格说明框;

4)在Name框中输入泳道的名字;

5)点按OK按扭,关闭规格设定框;

6)对泳道的大小位置进行调整;

7)将所需的活动和变换线拖至新泳道中。

图8

6.使用Rational Rose 创建起始活动和终止活动

1)在工具条中选择起始活动或终止活动图标;

2)在活动图(Activity Diagram)中单击要放置起始活动或终止活动的位置;

3)在工具条中选择State Transition图标;

4)单击起始活动,拖到相应的活动上,或者单击一个活动,拖至终止活动上。

图9

四、相关的包和类以及简单类图

1.在Rational Rose的Browser框中创建类(Class)

图10

1)右击browser框中的Logica View,弹出快捷菜单;

2)选择New——Class项;

3)输入类的名字;(如出错,可用Rename命令更改)

4)在所建类上单击右键,弹出快捷菜单;

5)选择Open Specification项,选择General标签页;

6)在Stereotype框中选择entity类;

7)单击OK按扭关闭规格说明框。

边界类〈Boundary Classes〉:

●可用来塑造操作者与系统之间的交互;

●可用来理清用户在系统边界上的需求;

●可设计抽象的用户界面对象。

控制类〈Control Classes〉:

●可协调对象之间的交易;

●可将使用案例的细节部分封装起来;

●可将复杂的计算或商务逻辑封装起来。

实体类〈Entity Classes〉:

●代表永久保存的信息;

●代表E-R模型之中人、事、时、地、物或概念的信息及行为。

2.在Rational Rose的Browser框中创建包(Packages)

1)右击browser框中的Logica View,弹出快捷菜单;

2)选择New——Package项;

3)输入包的名字;(PeopleInfo包用来存放与人员有关的内容;Interfaces包用来

存放与界面有关的内容;UniversityArtifacts用来存放与学校工件有关的内

容。)

4)新建图中的相关类,并设置其相应的类别;

5)单击Browser框中的类,将其拖至相应的包中。

图11

3.Rational Rose中的主类图(Main Class Diagram)

1)双击browser框Logica View中的Main类图以打开之;

2)单击Browser框中的包,将其拖到Main类图上;

3)重复第2)步,完成下图。

图12

4.在Rational Rose中创建包中的主类图(Package Main Class Diagram)

1)双击Main类图中的University Artifacts包,rose将打开这个包,并创建这个

包的主类图(Package Main Class Diagram);

2)单击Browser框中的类,将其拖到类图上;

3)重复第2)步,完成下图。

图13

五、用例实现图(Use Case Realization Diagram)

1.使用Rational Rose 创建逻辑视图中的用例图(Use Case Diagram)

图14

1)右击browser框中的Logica View,弹出快捷菜单;

2)选择New——Use Case Diagram项;

3)输入用例图的名字“Realizations”;(如出错,可用Rename命令更改)

4)右击browser框中的Logica View,弹出快捷菜单;

5)选择New——Use Case项;

6)输入用例的名字;(如出错,可用Rename命令更改)

7)双击新建的用例,打开用例的规格设定框;

8)单击Stereotype框,选择use case realization选项;

9)关闭用例的规格设定框;

10)重复4——9步,双击“Realizations”,打开实现用例图;

11)将新建的实现用例拖入图中,如下图。

图15

六、顺序图(Sequence Diagram)与合作图(Collaboration Diagram) 1.使用Rational Rose 创建顺序图(Sequence Diagram)

图16

1)右击browser框中的Logica View中的“Maintain course information”实现用

例,弹出快捷菜单;

2)选择New——Sequence Diagram项;

3)输入顺序图的名字“Creat a course”;

2.在顺序图中创建对象和信息

1)双击顺序图名称,打开顺序图;

2)将browser框Use CaseView包中的执行者“Registrar”拖入图中;

3)选择工具条中的“Object”图标;

4)单击图中放置对象的位置,并输入相应的名字;

5)重复3——4步;

6)选择工具条中的“Object Message”图标;

7)从信息发出者拖至信息接收者;

8)输入信息的名字;

9)重复6——8步。

图17 3.给顺序图中的对象分配类

1)单击选中Browser框中所需的类;

2)将此类拖至顺序图相应的对象上。

图18

3.将顺序图转换为合作图

图19

1)双击顺序图名称,打开顺序图;

2)选择屏幕上方的菜单Browser——Create Collaboration Diagram,或者点按F5

键;

3)调整图中的对象和信息,使其美观。

七、类图中的关系(Relationships)

1.使用Rational Rose 创建关系(Relationship)

图20

1)打开University Artifacts包中的Main类图;

2)选择工具条中的“Association”图标(若此图标不存在,则右击工具条,选择

Customize项将其加入);

3)点按类图中的一个类,拖至另一个类,输入关系的名称;

4)选择工具条中的“Aggregation”图标(若此图标不存在,则右击工具条,选择

Customize项将其加入);

5)点按类图中的一个整体类,拖至另一个部分类,输入关系的名称。

2.使用Rational Rose 创建角色(Role)

图21

1)新建一个People Info包的Main类图;

2)右击关系线(靠近需要创建角色的类的一端),弹出快捷菜单;

3)选择Role Name项,输入角色的名字。

3.增加多重度

图22

1)双击关系线,使其弹出规格设定框;

2)选择Detail标签页(Role A Detail 或者Role B Detail);

3)在Multiplicity框中输入或选择相应的多重度;

4)点按OK按扭,关闭规格设定框。

4.创建包之间的关系

图23

1)打开Logica View中的Main类图;

2)选择工具条中的“dependency”图标;

3)点按类图中的一个客户包,拖至另一个供应包。

八、类图中的操作与属性

图24

jacob大部分方法封装类

package com.bjsasc.avidm.avplan.evaluate.util; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import com.jacob.activeX.ActiveXComponent; import https://www.360docs.net/doc/a74364600.html,FailException; import https://www.360docs.net/doc/a74364600.html,Thread; import https://www.360docs.net/doc/a74364600.html,.Dispatch; import https://www.360docs.net/doc/a74364600.html,.Variant; public class EvaluateJacobWordUtil { /** Word应用对象*/ private ActiveXComponent wordApplication; /** 所有文档对象*/ private Dispatch wdDocuments; /** 当前活动文档对象*/ private Dispatch wdDocument; /** 当前选择范围*/ private Dispatch wdSelection; /** 所有表格对象*/ private Dispatch wdTables; /** 当前表格对象*/ private Dispatch wdTable; /** 单元格对象*/ private Dispatch tbCell; /** 所有书签对象*/ private Dispatch wdBookmarks; /** 当前书签对象*/ private Dispatch wdBookmark; /** empty */ private Dispatch range;

点面结合 场面描写

点面结合场面描写 场面描写指的是在某一特定时间和特定地点范围内以人物活动为中心的生活画面的描写。场面描写一般由“人”、“事”、“境”构成,它是叙事性作品的基本构成单位,是刻画人物、展开情节、表现主题的主要手段。常见的有劳动场面、战斗场面、运动场面以及各种会议场面等。那么如何写好场面呢?点面结合是进行场面描写最好的选择。 所谓“点”,指的是最能显示人事景物场面的形象状态特征的详细描写;所谓“面”,指的是对人事景物场面的叙述或概括性描写。点面结合就是“点”的详细描写和“面”的叙述或概括性描写的有机结合。点面结合一般有以下三种形式: 一、视角笔触横向化,就是要把观察的视线向横的方向展开。要看到整个场面在同一个时间里所发生的事,不能只集中看一点。如下面一段场面描写: “王励勤,加油,中国队,雄起!”随着观众此起彼伏的呐喊声,中国对韩国的世界杯乒乓赛决赛被王励勤与韩国柳承敏的几个大力远拉推向高潮,场内翻滚着一股热浪,坐在电视机前的我们,也目不转睛地看着电视,我、爸爸、哥哥戴着头巾,挥舞着乒乓拍,用力捶着茶几当起场外拉拉队来,王励勤又胜一局,在加油声中一路高歌,这时,对方柳承敏奋起反击,几个短摆,直线,反手对拉,利用王励勤侧身过多,迎头赶上,观众的叫声更响亮了,震耳欲聋,把电视机前的观众的心深深地震撼了。我们一家也急得直跺脚,索性脱掉衣服

在此挥舞,终于,王励勤不负众望,在掌声与欢呼中尽显他的王者风范,一声大叫,一个手势,又使他崛起赢得了比赛,我们也抑制不住兴奋之情,相互拥抱起来。 二、一面带多点,就是要有整体的概括,又有重点的具体描写。一般采用先总述再分述的方法。这也是我们进行场面描写时所常用的手法。如《十里长街送总理》第一段的描写。 天灰蒙蒙的,又阴又冷。长安街两旁的人行道上挤满了男女老少。路那样长,人那样多,向东望不见头,向西望不见尾。人们臂上都缠着黑纱,胸前都佩着白花,眼睛都望着周总理的灵车将要开来的方向。一位满头银发的老奶奶拄着拐杖,背靠着一棵洋槐树,焦急而又耐心地等待着。一对青年夫妇,丈夫抱着小女儿,妻子领着六七岁的儿子,他们挤下了人行道,探着身子张望。一群泪痕满面的红领巾,相互扶着肩,踮着脚望着,望着…… 作者为了把送总理的人很多这一特点写出来就用了“点面结合”的写法:其中“长安街两旁的人行道上挤满了男女老少。路那样长,人那样多,向东望不见头,向西望不见尾。”这是面的描写;“一位满头银发的老奶奶拄着拐杖,背靠着一棵洋槐树,焦急而又耐心地等待着。一对青年夫妇,丈夫抱着小女儿,妻子领着六七岁的儿子,他们挤下了人行道,探着身子张望。一群泪痕满面的红领巾,相互扶着肩,踮着脚望着,望着……”这是点的描写。这样,我们一读文章就能够深刻感受到来总理的自发群众是那样的多。细读之后,我们更能够感受到人民对总理的爱戴和无限悲思。难能可贵的是在这一段中,没有

Java 实现word 中写入文字图片的解决方案

Java 实现word 中写入文字图片的解决方案 JAVA生成WORD文件的方法目前有以下两种方式: 一种是jacob 但是局限于windows平台往往许多JAVA程序运行于其他操作系统在此不讨论该方案; 一种是poi但是他的excel处理很程序word模块还局限于读取word的文本内容,写word文件就更弱项了. 用到的jar包: iText-2.1.5.jar iText-rtf-2.1.4.jar iTextAsian.jar <!-- https://https://www.360docs.net/doc/a74364600.html,/artifact/com.lowagie/itext --> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.5</version> </dependency> <!-- https://https://www.360docs.net/doc/a74364600.html,/artifact/com.lowagie/itext-rtf -->

<dependency> <groupId>com.lowagie</groupId> <artifactId>itext-rtf</artifactId> <version>2.1.4</version> </dependency> <!-- https://https://www.360docs.net/doc/a74364600.html,/artifact/com.itextpdf/itext-asian --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency> /** * 创建word文档步骤: * 1,建立文档 * 2,创建一个书写器 * 3,打开文档 * 4,向文档中写入数据 * 5,关闭文档 */

jacob操作word(转载)

jacob操作word 自从有了JACOB后,事情变得简单多了。 但是要实现Java灵活的控制Word还是一件非常麻烦的事情。 下面介绍几个WORD常见的对象以及一些典型的处理过程,希望对大家有帮助。 (请注意:JDK1.3.2运行 Jacob比较正常,JDK1.4有问题) private ActiveXComponent word = null; private Dispatch documents = null; private Dispatch vSelection = null; private Dispatch wordfile = null; 1,初始化 word = new ActiveXComponent("Word.Application"); documents = word.getProperty("Documents").toDispatch(); (将JACOB 放在 WINNT\system32\ 下比较简单省事) 2,打开文件 wordfile = Dispatch.invoke( documents, "Open", Dispatch.Method, new Object[] { strFileName, new Variant(true),//是否进行转换 ConfirmConversions

new Variant(false)//是否只读 }, new int[1]).toDispatch(); vSelection = word.getProperty("Selection").toDispatch(); 在WORD中,选定内容进行转换时,不用象Java对象一样来回的重新取,这个对象一直有效。 在WORD中 3,显示WORD word.setProperty("Visible", new Variant(visible)); 4,设置WORD的位置 Dispatch activeWindow = Dispatch.get(word, "Application").toDispatch(); Dispatch.put(activeWindow, "WindowState", new Variant(0)); Dispatch.put(activeWindow, "Top", new Variant(0)); Dispatch.put(activeWindow, "Left", new Variant(0)); Dispatch.put(activeWindow, "Height", new Variant(600)); Dispatch.put(activeWindow, "width", new Variant(800)); 进行将JAVA内的数据和WORD交换,常用的做法是,在WORD上作一些特殊的标记,利用 FIND 和 Replace的方法进行,这个方法不是太好。 个人觉得使用超链接的模式比较方便。 有几大优点: 1, Hyperlink 有3个区域可以让开发者自己利用 ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range,

场景描绘案例分享

简单、好用的“场景描绘” ——帮助顾客实现梦想 让我们先来看看买花的女孩是如何使用“场景描绘”的: 卖花女孩向一位路过的小伙子兜售鲜花。小伙子说,你的鲜花太贵了。卖花女郎说,送给女孩子最好的礼物 就是鲜花,而且要在众人面前送给她最漂亮的花!假如你捧着一束花去见她,你的女朋友会是什么样呢?我想她一 定会含情脉脉地看着你,脸上洋溢着幸福的笑容,会在众人羡慕的眼光中给你一个最热烈的拥抱的。听到这里, 小伙子立即掏出钱包了。 场景描绘,就是运用一些生动形象的语言给客户描绘一幅使用产品后带来好处的图像,激起顾客对这幅图的向往,有效刺激顾客的购买欲望。试想一下,听到这样一段有诱惑力的话,哪个顾客能不动心呢? 正是因为: 1.带感情色彩的语句能够在顾客心里产生震荡 人是有感情的,富有感情色彩的语句和平淡的语句在顾客心里产生的震荡肯定不一样。每一位顾客都有其特定的经历、经验,从而形成对事物的独特见解、看法和态度。富有感情色彩的语句可以使顾客把你的介绍和他的亲身经验结合起来,从而使得你所推销的物品(饰品)与顾客对于未来的期待和向往合二为一,这样顾客对此物品(饰品)就会产生一种依赖感和依存感,购买的兴趣就会大增。 2.让顾客感到自己的选择合情合理 顾客的购买行为主要是由感情力量引起的,他们仍然会感到有必要为自己的行为找到合理的依据,可能是为了必要时给别人一个解释,或者仅是为了让自己满意地感到自己是理智的。因此,你必须充分意识到这一点,并随时准备提供理由,满足顾客的需要,证明他们的行动是合理的。其实,对于你所提出的理由,顾客也绝对不会认真追问,因为这些论点是他们所需要的。这时候的顾客非常容易相信你的话,如果你能够用一些带有感情色彩的话来说服顾客的话,多半都会成功。 珠宝消费不同于售卖花朵,不是凭一两句场景描绘就足以让顾客“冲动”而消费的,因为它是高额消费品。正是因为它价格昂贵,所以受到重视,顾客对拥有首饰后能达到其目的的期望值会更高!因此“场景描绘”在整个销售过程中起着举足轻重“煸情”的作用,“心动而产生行动”。 那在我们的销售工作中,又要如何来进行呢? 描述时方法有两种: 1.第一种:你可以尝试使用以下三个句型,激发顾客想象力。 “您有没有感觉到/您看……?” “当……时候……” “……像……一样” 例如:“您有没有感觉到这件衣服的布料很柔软,也很保暖?当天冷的时候穿上它,肯定会像睡在羽绒被子里一样舒服和暖和的。” “您看,这枚戒指款式非常简洁,两股线条缠绕于指尖,您有没有感觉到它非常适合您的手型?不炫丽但看上去很舒服,就像您的先生一样,一直会温柔体贴的陪伴在身边,很幸福啊。” 2、第二种:向顾客直接描绘未来 例如:在商品快介绍结束时,推销员向准备为女儿买钢琴的母亲说:“我想用不了多久,您女儿一定能在学校的表演厅里为大家演奏曲子了。” 翡翠饰品快介绍完毕时,“您老公佩戴着这枚挂件,出门在外一定会平平安安的,摸到翡翠就会想起您的叮咛的。”

利用geoda计算空间误差模型和空间滞后模型

利用geoda计算空间误差模型和空间滞后模型 步骤1计算空间权重矩阵 步骤2比较LMerror、robusterror LMlag robustlag的值,决定模型的类型。 步骤3利用模型得出结果。 1打开geoda 2打开shp文件file-new project from –shp注意英文路径

3打开结果如图所示 4计算权重文件tools-weights-creat ID变量选择一个唯一值,一般选择ID。 1.rook:表示共边为邻接; 【与arcgis中的Polygoncontiguity(edges only)对应】2.queen:表示共边或共点为邻接;

【与arcgis中的Polygon contiguity(edgesand corners)对应】 基于距离(Distance)关系的空间权重 1.threshold:表示既定距离下的相关,一般软件有默认一个最小值,但可视实际情况调整(一般应大于最小值); 【arcgis中的inverse distance/fixed distance 都要设置threshold距离】2.K-nearest:表示指定某个多边形周围的多边形个数(K=3,4,5,6...)。【与arcgis中的K-nearest neighbors对应】 这里选择rook 创建完毕 5计算三种模型及诊断结果 Methods-regression -

选择因变量和自变量,勾选weights file,选择刚刚创建的权重文件。Methods选择classic,勾选 点击run。

注意看报告。PROB值越小表示通过R检验,表示精度较好。Value 表示其值的大小。首先比较LMlag和LMerror的大小,二者都比较显著,均可进行分析;若二者都不显著,则比较ROBUSTlag和robusterror,选择较大值的模型。 6选择恰当的模型进行分析 Methods-regression-,选取自变量和因变量,选择空间权重矩阵,选择模型spatial error or spatial lag,点击run即可。

Java Swing嵌入浏览器

import java.awt.BorderLayout; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; import https://www.360docs.net/doc/a74364600.html,.HttpURLConnection; import https://www.360docs.net/doc/a74364600.html,.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import https://www.360docs.net/doc/a74364600.html,mon.UIUtils; import chrriis.dj.nativeswing.swtimpl.NativeInterface; import https://www.360docs.net/doc/a74364600.html,ponents.JWebBrowser; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserCommandEvent; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserEvent; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserListener; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserNavigationEvent; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserWindowOpeningEvent; import https://www.360docs.net/doc/a74364600.html,ponents.WebBrowserWindowWillOpenEvent; import com.jacob.activeX.ActiveXComponent; import https://www.360docs.net/doc/a74364600.html,Thread; import https://www.360docs.net/doc/a74364600.html,.Dispatch; import https://www.360docs.net/doc/a74364600.html,.Variant; import com.mohe.utils.system.L; /** * 主窗体 * * @author dxm * */ public class MainFrame extends JFrame {

java操作word(内部资料)

JAVA操作word Java操作Microsoft Word之jacob(1) 现在我们一起来看看,用J1ava如何操作Microsoft Word。 jacob,官网是https://www.360docs.net/doc/a74364600.html,/jacob 这是一个开源的工具。最新版本1.7 官方的解释是:The JACOB Project: A JAva-COM Bridge 这是官方对下载文件的说明: jacob.jar: a JAR file for the java classes which you must add to your CLASSPATH. The package names replace com.ms with com.jacob (for example https://www.360docs.net/doc/a74364600.html,.Variant maps to https://www.360docs.net/doc/a74364600.html,.Variant. jacob.dll: a small Win32 DLL which you must add to your PATH. samples: provided in Java source and compiled form to demonstrate various features of the product. In particular, a set of wrapper classes for Microsoft? ADO are provided as samples. 开发环境: JDK 1.6 MyEclipse Enterprise Workbench Version: 7.0 Milestone-1 Tomcat 5.5.27 现在MyEclipse中新建一个项目jacob,将jacob的jar包放到该项目的类库中。 我的jacob版本是1.14.3 。

初中作文指导:细节描写案例【精品】

细节描写案例 教学目标:A知识技能目标:明确细节描写的内涵,学习细节描写的方法,初步学会运用细节描写。 B思想情感目标:养成良好的观察习惯,积累对百态人生的体验,做一个生活的有心人。 教学重点:细节描写的方法及运用 教学难点:通过细节描写表达真情实感 教学手段:多媒体课件 教学方法:体验法、启发式(教学过程中可以讨论法和演练法为主,充分发挥学生学习的主动性,培养学生的探究能力。)教学过程: 一、导入 著名文艺批评家兰色姆指出,使文学成为文学的东西不在于文学作品的框架结构、中心逻辑,而在于作品的细节描写,只有细节才属于艺术,也只有细节的表现力最强。其实,现在世界中细节的力量又何尝可以小觑?每增加一厘米的倾斜,都有可能导致比萨斜塔的倾覆;使人疲惫的不是远方的高山,而是鞋子里的一粒沙子。 今天,我们就一起来探讨一下细节描写对作文的影响作用。(多媒体课件展示课题,学生齐读课题:《一枝一叶总关情——作文指导之细节描写》。) 二、明确定义 细节描写是指抓住生活中的细微而又具体的典型情节,加以生动细致的描绘,它具体渗透在对人物、景物或场面描写之中。它是最生动、最有表现力的手法,是作者精心的设置和安排,不能随意取代。一篇文章,恰到好处地运用细节描写,能起到烘托环境气氛、刻画人物性格和揭示主题思想的作用。(多媒体课件展示课文片段 三、回顾我们课文中的细节描写 (多媒体课件展示课文片段) 1.(阿Q)要画圆圈了,那手捏着笔只是抖,于是那人将纸铺在地上,阿Q伏下去,使尽平生的力画圆圈。他生怕被人笑话,立志要画得圆,但这可恶的笔不但很沉重,并且不听话,刚刚一抖一抖的几乎合缝,却又向外一耸,成了瓜子模样了。”(鲁迅《阿Q正

Arcgis操作-实验四:ArcMap地图配准及矢量化word版本

A r c g i s操作-实验四:A r c M a p地图配准 及矢量化

实验四:地图配准及矢量化 一、实验目的 1、掌握影像配准(Georeferencing)工具进行地形图的地理配准的方法及步骤。 2、掌握ArcMap中进行矢量化方法。 二、实验准备 数据准备: 昆明市西山区普吉地形图 1:10000 地形图――70011-1.tif (昆明市旅游休闲地图(YNKM.JPG)、Garmin 手持GPS野外采集数据 (gpsdata.dbf))——选做数据 软件准备: ArcGIS Desktop9.x,ArcCatalog 三、实验内容 根据地形图坐标配准地形图,如图1所示。 图1 配准结果

四、实验步骤 第1步地形图的配准-加载数据和影像配准工具 所有图件扫描后都必须经过扫描配准,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。 ●打开ArcMap,添加“影像配准”工具栏。 ●把需要进行配准的影像—70011-1.TIF增加到ArcMap中,会发现“影像配 准”工具栏中的工具被激活。 第2步输入控制点 在配准中我们需要知道一些特殊点的坐标。通过读图,我们可以得到一些控件点――公里网格的交点,我们可以从图中均匀的取几个点。一般在实际中,这些点应该能够均匀分布。 ●在”影像配准”工具栏上,点击“添加控制点”按钮。

●使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击输入该点实 际的坐标位置,如下图所示: ●用相同的方法,在影像上增加多个控制点(大于7个),输入它们的实际坐 标。点击“影像配准”工具栏上的“查看链接表”按钮。 ●注意:在连接表对话框中点击“保存”按钮,可以将当前的控制点保存为磁 盘上的文件,以备使用。

JAVA读取WORD文档解决方案

Java读取word文档解决方案 java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,我曾经在不同的机器上试过,操作方法完全一致,有的机器不报错,有的报错,去他们论坛找高人解决也说不出原因,项目部署用它有点玄;itxt好像写很方便但是我查了好久资料没有见到过关于读的好办法。经过一番选择还是折中点采用rtf最好,毕竟rtf是开源格式,不需要借助任何插件,只需基本IO操作外加编码转换即可。rtf格式文件表面看来和doc没啥区别,都可以用word打开,各种格式都可以设定。 -----实现的功能:读取rtf模板内容(格式和文本内容),替换变化部分,形成新的rtf文档。 -----实现思路:模板中固定部分手动输入,变化的部分用$info$表示,只需替换$info$即可。 1、采用字节的形式读取rtf模板内容 2、将可变的内容字符串转为rtf编码 3、替换原文中的可变部分,形成新的rtf文档 主要程序如下:

以上为核心代码,剩余部分就是替换,从新组装java中的String.replace(oldstr,newstr);方法可以实现,在这就不贴了。源代码部分详见附件。运行源代码前提: c盘创建YQ目录,将附件中"模板.rtf"复制到YQ目录之下,运行OpreatorRTF.java文件即可,就会在YQ 目录下生成文件名如:21时15分19秒_cheney_记录.rtf的文件。。。。。文件名是在程序中指定的呵呵。由于是由商业软件中拆分出的demo所以只是将自己原来的写的程序分离,合并在一个java文件中,所以有的方法在示例程序中看似多余,没有必要那么麻烦。 对于替换部分需要循环的特例程序,我不好拆分,里面很容易暴露商业软件的东西,所以就不贴了,有需要的话可以加我QQ或者MSN,一起讨论呵呵。附件传了半天也没有传上去,没有办法只有这样搞了呵呵。模板文件附件无法存放,需要的直接联系呵呵。其实直接看以下的java程序部分,就会明白

记叙文细节描写篇分析

高三语文写作指导与训练系列二编号 GS YW XZ--002 记叙文写作之细节描写篇导学案 编写:徐明生审定:张明玺时间:2014-08-26 班级:组别:组名:姓名: 知识与技能:理解细节描写的概念及分类,掌握细节描写的方法,学会运用细节描写表现人物细腻的情感,为文章增色。 过程与方法:1.创设情境,赏析富有情趣的细节描写。2.例文引导,掌握细节描写的方法。 3.写作训练,将细节描写融入作文中。 情感态度与价值观:培养观察力、想象力,引导学生发现生活中的细节之美,形成热爱生活、积极的人生态度。 教学方法:揣摩、讨论、归纳、操练 课前准备:1.了解细节描写的相关知识点; 2.回顾所学过的记叙文(小说),初步体会细节描写的作用。 课时:2课时 导学过程:一、导语众所周知,记叙文的灵魂在于细节描写。同学们在作文里缺少的不是把某件事写完整的能力,而是缺少细节捕捉、描写的能力。这些缺失细节描写的文章读来生涩呆板,缺乏感染力。而高考作文评分在发展等级项中有明确的规定,即:“材料丰富,形象丰满,意境深远”,这“形象丰满”很大程度上依赖于考生对细节的描摹与刻画。细节描写之重要,不仅可以在“生动”上“出彩”加分,而且可以使作品形象丰满,使整个文章升格。所以作文缺少感人的细节实在是一个制约记叙文成绩提高的瓶颈。 一沙一世界,一叶一菩提。其实,纷繁的生活,是由无数小的细节构成的。细节虽小,却是美的源泉,情的聚焦。生活中的细节之美,看在眼里,便是风景;握在掌心,便是花朵;拥进怀中,便是温暖;写在笔端,便是精彩。今天这节课,我们来一起用双眼发现细节,用心灵感悟细节,用文字展现细节,让我们作文中的人与事如生活中一般于细处见情,微处见妙! 二、了解概念、分类,感受作用、魅力 (1)什么是细节描写? 细节描写就是某些细小的能很好表现中心的环节和情节,如对人物的一个动作、一种表情、一句话等以及事物发展的具体环节、环境中的细小物体,通过准确、生动、细致的描绘,使读者“如见其人”“如睹其物”。 细节描写如电影中的特写镜头,具体渗透在对人物、景物或场面描写之中。它将我们身边

Arcgis操作实验四_ArcMap地图配准及矢量化

实验四:地图配准及矢量化 一、实验目的 1、掌握影像配准(Georeferencing)工具进行地形图的地理配准的方法及步骤。 2、掌握ArcMap中进行矢量化方法。 二、实验准备 数据准备: 市西山区普吉地形图 1:10000 地形图――70011-1.tif (市旅游休闲地图(YNKM.JPG)、Garmin 手持GPS野外采集数据(gpsdata.dbf))——选做数据 软件准备: ArcGIS Desktop9.x,ArcCatalog 三、实验容 根据地形图坐标配准地形图,如图1所示。 图1配准结果

四、实验步骤 第1步地形图的配准-加载数据和影像配准工具 所有图件扫描后都必须经过扫描配准,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。 ●打开ArcMap,添加“影像配准”工具栏。 ●把需要进行配准的影像—70011-1.TIF增加到ArcMap中,会发现“影像配准”工具栏中 的工具被激活。 第2步输入控制点 在配准中我们需要知道一些特殊点的坐标。通过读图,我们可以得到一些控件点――公里网格的交点,我们可以从图中均匀的取几个点。一般在实际中,这些点应该能够均匀分布。 ●在”影像配准”工具栏上,点击“添加控制点”按钮。

●使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击输入该点实际的坐标位 置,如下图所示: ●用相同的方法,在影像上增加多个控制点(大于7个),输入它们的实际坐标。点击“影 像配准”工具栏上的“查看表”按钮。 ●注意:在连接表对话框中点击“保存”按钮,可以将当前的控制点保存为磁盘上的文件, 以备使用。

检查控制点的残差和RMS,删除残差特别大的控制点并重新选取控制点。转换方式设定为“二次多项式” 第3步设定数据框的属性 增加所有控制点,并检查均方差(RMS)后,在”影像配准”菜单下,点击“更新显示”。 执行菜单命令“视图”-“数据框属性”,设定数据框属性

java深度处理word

JAVA操作word jacob(1) 现在我们一起来看看,用Java如何操Word。 jacob,官网是https://www.360docs.net/doc/a74364600.html,/jacob 这是一个开源的工具。最新版本1.7 官方的解释是:The JACOB Project: A JAva-COM Bridge 开发环境: JDK 1.6 MyEclipse Enterprise Workbench Version: 7.0 Milestone-1 Tomcat 5.5.27 现在MyEclipse中新建一个项目jacob,将jacob的jar包放到该项目的类库中。 我的jacob版本是1.14.3 。

下面这一步非常重要,就是拷贝jacob目录中jacob-1.14.3-x86.dll文件到系统环境变量目录中一般情况就放在当前jdk中bin目录下。

。 这里有一个MSWordManager 类,是jacob官方发布的工具类,里面有大多数Java操作MS Office的工具。 package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.jacob.activeX.ActiveXComponent; import https://www.360docs.net/doc/a74364600.html,.Dispatch; import https://www.360docs.net/doc/a74364600.html,.Variant; public class MSWordManager { // word文档

JAVA动态生成word和pdf

java生成word的几种方案 1、Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。 使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。 2、Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word 等文件。他的excel处理很强大,对于word还局限于读取,目前只能实现一些简单文件的操作,不能设置样式。 3、Java2word是一个在java程序中调用MS Office Word 文档的组件(类库)。该组件提 供了一组简单的接口,以便java程序调用他的服务操作Word 文档。 这些服务包括:打开文档、新建文档、查找文字、替换文字,插入文字、插入图片、插入表格,在书签处插入文字、插入图片、插入表格等。填充数据到表格中读取表格数据,1.1版增强的功能:指定文本样式,指定表格样式。如此,则可动态排版word 文档。 4、iText操作Excel还行。对于复杂的大量的word也是噩梦。用法很简单, 但是功能很少, 不 能设置打印方向等问题。 5、JSP输出样式基本不达标,而且要打印出来就更是惨不忍睹。 6、用XML做就很简单了。Word从2003开始支持XML格式,大致的思路是先用office2003 或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。 java生成pdf方案总结 1. Jasper Report生成pdf:设计思路是先生成模板,然后得到数据,最后将两者整合得到结果。但是Jasper Report的问题在于,其生成模板的方式过于复杂,即使有IDE的帮助,我们还是需要对其中的众多规则有所了解才行,否则就会给调试带来极大的麻烦。 2. openoffice生成pdf:openoffice是开源软件且能在windows和linux平台下运行。 3. itext + flying saucer生成pdf:itext和flying saucer都是免费开源的,且与平台无关,结合css和velocity技术,可以很好的实现。 一般使用第三种方案比较多,它实现的步骤是非常简单的。

作文技巧:围绕中心写场面

作文技巧:围绕中心写场面 场面描写,那么什么是场面呢?场面一般是指集体活动中某一段时间内,呈现在人们面前的情景。就如同我们在话剧中看到的某一场、某一幕一样。生活中,有哪些场面是我们参加过或者看到过的呢?下面举一些例子供参考。劳动场面。我们在学校经常参加校办工厂、农场或服务性劳动,劳动中大家的热、干劲以及劳动中出现的好人好事是很多的。我们也经常去工厂、农村、商店参观、问,看到叔叔阿姨们是怎样劳动的,这些就是劳动场面。游戏场面。同学们在家里或校园里经常在一起做游戏,体育活动时老师也组织大家开展各种活动。这些游戏场面常常非常活跃,非常有趣,也是同学们比较熟悉的娱乐场面。在我们丰富多彩的课余生活中,娱乐活动是一项很重要的内容。文艺演出,联欢活动,观看影视,都有许多生动的场面值得我们记叙下来。典礼场面。每学期开学时,我们都要举行开学典礼。你所在的城市、村镇、有什么新的建筑落成,也常常举行典礼仪式。这些典礼的场面有意义、有教育性,应该认真观察,记录下这一值得纪念的时刻。运动场面。运动会上,运动员你追我赶,奋力拼搏,争取创造优异成绩;观众们为运动员鼓掌加油,欢呼助兴,这些激动人心的场面是令人难忘的。生活场面。在日常生活中有许多场面也是很有特点的。例如购买货物,家人团聚,乘车坐船,求医治病,盖房修墙,;,布置居室等等,都具有浓厚的生活气息。会议场面。班会、队会、校会,;,和英雄模范人物会见,参加各种庆祝会,纪念会,那会议的场面也往往给我们留下深采刻的印象。总之,练习场面描写,可以提高苛我们

观察认识能力、记叙描写能力。我们在记叙场面时要注意以下三点.1.认真观察。比如进行会议场面的描写,要仔细观察会场的环境:主席台在哪儿,会标是怎吞样写的,台上是怎样布置的,有哪些人在台上就座,他们的神态、动作、讲话、|内容是怎样的;会场有多大,有多少人参加,会场的气氛怎样;会议的议程怎样,怎样开始,哪时达到高潮,会议是怎样结束的等等,都应如实具体观察,认真积累写作的材料。2.抓住重点3;把人和事物写具体。场面描写常常离不开人物和事物,这是场面描写的主要内;:l容。人物的外貌、神情、语言、动作、心理,事物的起因、经过、高潮和结果,以及物体的i l形状、颜色、变化、活动情况等等,都应细致具体地加以描述,使读者如身临其境,这才是成功的场面描写。当然,场面描写也应围绕一个中心,不要想到什么写什么,这样就不集中了,这也是要注意的问题。

java txt 转word

使用JACOB进行Word编程示例 2015年7月2日 13:44 Jacob项目的官方地址:https://www.360docs.net/doc/a74364600.html,/projects/jacob-project/ 官方介绍: JACOB is a JAVA-COM Bridge that allows you to call COM Automation components from Java. It uses JNI to make native calls to the COM libraries. JACOB runs on x86 and x64 environments supporting 32 bit and 64 bit JVMs 它是一个使用jni来调用com组件及其库文件的工具。这里仅介绍处理word文档。 首先要部署其dll文件。jacob-1.14.3-x86.dll 或 jacob-1.14.3-x64.dll,下载的文件解压后即可看到。我是直接将dll文件放在windows\system32目录下的,方便,当然也有其他做法。 其次,就是把其jar文件路径加入Windows路径中。 接着就可以在你的Java程序中调用了。我总结下大概有下面几个阶段: 1. 初始化相关参数,代码如下: // 打开Word应用程序 ActiveXComponent app = new ActiveXComponent("Word.Application"); // 设置word不可见 app.setProperty("Visible", new Variant(false)); // 打开word文件 Dispatch word = app.getProperty("Documents").toDispatch(); Dispatch doc = Dispatch.invoke(word, "Open", Dispatch.Method, new Object[] {" File Name", new Variant(false), new Variant(false) }, new int[1]).toDispatch(); //获取指针 Dispatch cursor = app.getProperty("Selection").toDispatch(); 如上,我们打开了一个名为File Name的word文件,你可能会觉得最后那句看起来很繁琐,是的,有更好的代替方式,如下: Dispatch doc = Dispatch.call(word, "Open", new Variant(false), new Variant(false) ).toDisptach(); 这正是Jacob给我们提供的两种调用方式。 2. 处理word文档,如果你先前有VBA相关开发经验,那就简单了。没有的也没事,打开office程序目录下的2052\VBAWD10.chm,这里有Word的对象模型的所有记录。 接着讲述下Jacob中两种最常用的类型: Variant:这是一种可变的类型,用于Jacob中几乎所有函数的返回值,并可转换为其他任何类型,包括Java基本类型。当然,应该按需要与规则来。Dispatch:Object represents MS level dispatch object. Each instance of this points at some data structure on the MS windows side.就是说可以代表所有对象模型。 import java.util.ArrayList; import java.util.List; import com.jacob.activeX.ActiveXComponent;

作文指导课场面描写教案

作文指导课——场面描写 平度经济开发区小学李荷英 课堂导入:我们上周刚刚举行了秋季阳光运动会,回忆一下那是一个什么样的场面(紧张、兴奋、热烈) 运动会是一个紧张、热烈的场面,那么,请列举一下你的生活中还有那些场面(赶集的拥挤热闹,球场的热烈火爆,下课的喧闹)场面的特点 看多媒体图片,看一下是什么场面,描述场面特点或者气氛 (比赛场面紧张激烈,阅兵场面宏大整齐,春运场面拥挤) 上周我们开完运动会后写了一篇日记,通过批阅,发现同学们对于场面描写有所欠缺,好多同学的日记我读完了之后看不出运动会是一个怎样的场面。今天我们一块儿来学习一下如何进行场面描写。 一,明确定义。什么是“场面描写” 场面描写,就是对一个特定的时间与地点内许多人物活动的总体 情况的描写。它是自然景色、社会环境、人物活动等描写对象的集中展现。 常见的有劳动场面、战斗场面、运动场面以及各种会议场面等。 二,场面描写的关键——写出特定气氛 场面描写的关键是什么呢我们先来看一段文字。刘成章的《安

塞腰鼓》。 个别学生读,其他学生思考:1,这是一个什么场面2、这是一个怎样的场面(场面特点、气氛)安塞腰鼓表演场面。气势壮阔,豪放火烈。 场面描写的特点——写出特定气氛 气氛是人在一定环境中看到的景象或感觉到的一种情绪或感情。无论什么场面,都会有气氛,如庆祝场面有欢乐的气氛;比赛场面有紧张的气氛;送别场面有难舍难分的气氛等等。 三,语段分析找方法 那么,如何才能写出场面氛围呢,我们来学几个小妙招。 1、以景衬情,营造氛围(板书) 例子一:春天到了,儿子种的花全都开了。春风吹来,姹紫嫣 红的花儿轻轻摇晃着,散发出阵阵芳香,引来了一只只小蜜蜂。 傍晚,彩霞染红了天空。高尔基坐在院子里,欣赏着儿子种的花,心里有说不出的高兴。瞧,那些盛开的花朵多像儿子红扑扑的脸庞啊!(高兴喜悦) 例子二:天灰蒙蒙的,又阴又冷。长安街两旁的人行道上挤满了男女老少。路那样长,人那样多,向东望不见头,向西望不见尾。人们臂上都缠着黑纱,胸前都佩着白花,眼睛都望着周总理的灵车将要开来的方向。一位满头银发的老奶奶拄着拐杖,背靠着一棵洋槐树,焦急而又耐心地等待着。一对青年夫妇,丈夫抱着小女儿,妻子领着六七岁的儿子,

相关文档
最新文档