任何编程开发语言接触过了或多或少都会有一套自己的经验,今天小编为大家提供jgraph开发技巧,让新人们少走点弯路。下面一起来学习下jgraph开发技巧吧!
jgraph的画图机制
参照了JGraph的example和源代码,发现:
JGraph将图元定义为一个一个的cell,每个cell可以是一个顶点(Vertex)、边(Edge)或者节点(Port)中的一种。顶点可以有邻接的顶点,他们通过边相联系,边联接的两个端点称为目标和源,每个目标或者源是一个节点。节点是顶点的孩子。每个cell都可以有自己的孩子。
每个cell的外观由相应的属性定义,属性序列是指一系列的键-值对,他们以Map形式组织,例如:
//定义Edge的外观
Map map = new Hashtable();
GraphConstants.setLineEnd(map, GraphConstants.ARROW_CLASSIC);
GraphConstants.setEndFill(map, true);
GraphConstants.setLabelAlongEdge(map, true);
getAttributes().applyMap(map);
而“画布”(类JGraph,不妨如此理解吧)也可以有自己的外观属性。例如:
//定义画布的属性
setBackground(Color.decode("#C0C0C0"));
setEditable(false);
setCloneable(false);
setInvokesStopCellEditing(true);
setJumpToDefaultPort(true);
setPortsVisible(false);
setGridEnabled(false);
setGridVisible(false);
setGridMode(JGraph.CROSS_GRID_MODE);
setGridColor(Color.decode("#808080"));
setGridSize(10);
jgraph的扩展
JGraph只是提供单纯的图形绘制功能,不包含实际的数据,所以要想办法把自己的数据“加”进去才行,这恐怕就得考虑扩展JGraph了。
顶点(Vertex)对应的类为org.jgraph.graph.DefaultGraphCell
边(Edge)对应的类为org.jgraph.graph.DefaultEdge
节点(Port)对应的类为org.jgraph.graph.DefaultPort
我们要做的,仅仅是分别继承相应的类,并把自己的数据对象放进去而已。当然,还可以改变相应的外观属性。不过如果你对绘图事件也感兴趣的话(呵呵,十有八九应该有用的),还要留意一下org.jgraph.graph.BasicMarqueeHandler和org.jgraph.graph.GraphUndoManager这两个类呢。BasicMarqueeHandler中包括了在画布上点击鼠标、增加连线、合并等等事件的处理,而GraphUndoManager则主管撤销、回复事件
如果仔细操作,你也许回发现,点击边(Edge)的端点进行移动的事件并不由GraphUndoManager来处理,这时候就要再关注一个类了:org.jgraph.graph.EdgeView.EdgeHandle,这是一个内部类,如果需要的话,自己重写一个类继承它吧。
相关视频
相关阅读 iPhone数据迁移怎么用 iOS 12.4数据迁移功能使用教程禁用“Chrome请停用以开发者模式运行的扩展程序”教程dnf普雷raid隐藏剧情 dnf普雷隐藏剧情介绍dnf普雷怪物机制介绍 dnf普雷raid怪物机制dnf普雷raid攻略 dnf普雷raid打法介绍wwdc19苹果开发者大会在哪看 wwdc19苹果开发者大会直播地址鬼泣5Unable to intialize steamapi解决方法Dungreed怎么加点 Dungreed天赋加点攻略
热门文章 没有查询到任何记录。
最新文章
编程语言排行榜2020年android studio怎么删
eclipse怎么设置编码格式 eclipse设置编码格andriod studio如何使用真机测试 andriod sandroid studio怎么生成apk android studioandroid studio如何导入jar包 android stud
人气排行 安卓模拟器BlueStacks安装使用教程编程语言排行榜2020年9月 TIOBE编程语言排行eclipse字体大小怎么设置 eclipse字体大小plsql developer怎么连接数据库 plsql deveTomcat9.0安装教程 Tomcat9.0环境变量配置方plsql developer怎么使用 plsql developerVisual Studio 2015环境搭建教程Eclipse优化设置教程 Eclipse优化设置技巧
查看所有1条评论>>