首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
coofucoo (105)
Drate (69)
CSDN - 文档中心 - Java 阅读:14119   评论: 1    参与评论
标题   JGraph 常见问题解答     选择自 nxyc_twz 的 Blog
关键字   JGraph 常见问题解答
出处   http://www.jgraph.com/faq.html

JGraph 常见问题解答(续一)

翻译:nxyc_twz@163.com

                      

 

 

怎样打开/保存基于 XML 的文件格式?

  在新 SDK 1.4 中提供了读、写 XML 文件的内建支持。JGraph 体系,尤其是图形模式,非常类似于XML结构。因此,任何基于XML的文件能存入图形模式,而无需下载其它Java库。
  参考JGraph中的 GXLReader和SVGWriter的实现 Gxl2svg 示例。GXL 导出可通过内置在 JGraphpad 中的数据转换(拖、放/剪贴板)或使用文件 > 导出 > GXL来实现。在JGraphpad中,打开文本编辑器,选定你想转换到GXL的子图, 然后执行文本编辑器中的 Edit > Copy ,Edit > Paste。这将会将GXL插入剪贴板的文本解释区。

JGraph怎样生成 SVG 图形?

  Batik 项目(http://xml.apache.org/batik/)提供了一个JavaTM的SVG生成器。要查看它的规范,可访问:http://xml.apache.org/batik/svggen.html.
  基本的想法通过实例化JGraph的paint方法来创建一个特定的
Graphics2D 扩展,即 SVGGraphics2D。
  注意: 与 JGraph, Batik 是个庞大的产品!

布局

算法支持什么设计?

  该框架支持设计算法,但并不包括全部的核心API("JGraph")。图形算法是个非常复杂的领域,这个项目的目的是设计一个标准的Swing图形组件。
  由Alex Shapiro设计的一个示例算法已成为JGraphpad源码示例中的一部分。Touch 示例主要用来演示在JGraph中生成算法实现的方法。可参考:com.jgraph.graph.Touch

怎样实现自动布局?

  Touch 算法以线程方式实现,它直接在顶点上操作(不能撤消),可以通过用户交互来修改。在普通CPU上有超过50个顶点时,速度会变慢。JGraphpad中提供了一个 "arrange" 功能用来运行多线程,大约500毫秒可以实现另一个设计功能。
  作为一种替代方法,设计功能可以通过设置位置来实现,但该设计还没有完成。这种方法也用在Microsoft VisioTM中。通过增加算法也可以实现。(增加算法以改变图形是当前的基本思路。)

  由于这些算法依赖于典型的应用,所以暂时还没有计划整合这些算法到枋心API中。但是,如果将这些算法到我们的站点上,也是个不错的选择!因此,如果有人实现了它,我也想知道相关信息!

  JGraph 的体系也允许全新设置。我听到的一个示例是化学应用组件(分子结构),需要单独设计各个组件。 (JGraphpad 包提供了组合-查找数据结构,可以被用来计算图形组件。组件是顶点集的连接,也就是可达的有序边。)


设计后怎样刷新?

  使用下面的代码:

   CellView[] v = graph.getView().getRoots();

   graph.setPreferredSize(AbstractCellView.getBounds(v).getSize());

   graph.graphDidChange();

注意: 在模型/视图编辑上显示会自动刷新。

(待续

 


相关文章
对该文的评论
CSDN 网友 ( 2005-10-09)
请问,哪儿有关于JGraph的书买?请在这里发表一些短小而完整可直接运行的例子好吗 ?