Java 在FigureCanvas上的现有节点之间绘制多段线连接
我有一个要绘制的节点列表。这里的节点表示Java 在FigureCanvas上的现有节点之间绘制多段线连接,java,eclipse-rcp,draw2d,Java,Eclipse Rcp,Draw2d,我有一个要绘制的节点列表。这里的节点表示RectangleFigure。因此,所有这些节点首先绘制在画布上(FigureCanvas) 然后,我维护了一个映射,在前面绘制的节点之间具有依赖关系。 在地图中,键是节点,值只是维护的节点列表 e、 g.有3个节点,[ClassA、ClassB、InterfaceC] 我把它们画在画布上。 我的地图如下: [ClassA=[ClassB],ClassB=[InterfaceC]] 因此,它意味着ClassA扩展了ClassB,而ClassB实现了Int
RectangleFigure
。因此,所有这些节点首先绘制在画布上(FigureCanvas
)
然后,我维护了一个映射,在前面绘制的节点之间具有依赖关系。
在地图中,键是节点,值只是维护的节点列表
e、 g.有3个节点,[ClassA、ClassB、InterfaceC]
我把它们画在画布上。
我的地图如下:
[ClassA=[ClassB],ClassB=[InterfaceC]]
因此,它意味着ClassA扩展了ClassB
,而ClassB实现了InterfaceC
现在,我想在已经绘制的节点之间绘制PolylineConnection
,使用维护的映射。
那么,我该如何处理这件事呢
非常感谢您的指点,提前谢谢 draw2d项目中有许多示例。查看此处的详细信息:尝试了解决问题的方法,并且成功了。所以,为自己的问题添加答案 步骤如下:- 1.考虑问题本身的例子。 有3个节点,[ClassA、ClassB、InterfaceC] 我们在这些节点中有一个关系图 [ClassA=[ClassB],ClassB=[InterfaceC]] 表示A类扩展B类和
ClassB实现了InterfaceC
多段线连接的源获取
锚点在两者之间绘制连接
矩形图
(节点),则比较给定的标签,我们可以获取所需的节点private RectangleFigure fetchNode(String node_label) {
RectangleFigure emptyNode = new RectangleFigure();
// get the list of nodes drawn on canvas
@SuppressWarnings("rawtypes")
List childrens = panel.getChildren(); //private IFigure panel;
for (int count = 0; count < childrens.size(); count++) {
if (childrens.get(count) instanceof RectangleFigure) {
RectangleFigure node = (RectangleFigure) childrens.get(count);
@SuppressWarnings("rawtypes")
List node_children = node.getChildren();
for (int count2 = 0; count2 < node_children.size(); count2++) {
if (node_children.get(count2) instanceof Label) {
Label lbl = (Label) node_children.get(count2);
if (lbl.getText().equals(node_label)) {
return node;
}
}
}
}
}
return emptyNode;
}
私有矩形图获取节点(字符串节点\u标签){
RectangleFigure emptyNode=新的RectangleFigure();
//获取在画布上绘制的节点列表
@抑制警告(“原始类型”)
List childrens=panel.getchildrens();//私有IFigure面板;
对于(int count=0;count
我在建议的链接上没有发现任何有用的和与PolylineConnection相关的内容:|您下载了示例项目并进行了调查吗?我知道有关绘制连接的基础知识,上面的博客上也有相同的示例。但上述问题有些棘手。我被困在那一点上了。无论如何,谢谢你的建议。