gpt4 book ai didi

java - Jgraphx样式应用于circleLayout

转载 作者:太空宇宙 更新时间:2023-11-04 11:46:05 27 4
gpt4 key购买 nike

我正在使用 JGraphX 绘制图形,使用 mxCircleLayout 作为基本表示,但我想更改一些行为。例如,我想要 EDGESTYLE_TOPTOBOTTOM,因此在构建 mxGraphComponent 之前我定义了一个新的边缘样式:

' JGraphXAdapter graphAdapter = new JGraphXAdapter(this.stradario.getStradario());

graphAdapter.getModel().beginUpdate();
try {
Map<String, Object> edgeStyle = new HashMap<String, Object>();
edgeStyle = graphAdapter.getStylesheet().getDefaultEdgeStyle();
edgeStyle.put(mxConstants.STYLE_EDGE, mxConstants.EDGESTYLE_TOPTOBOTTOM);
mxStylesheet stylesheet = new mxStylesheet();
stylesheet.setDefaultEdgeStyle(edgeStyle);
graphAdapter.setStylesheet(stylesheet);

} finally {
graphAdapter.getModel().endUpdate();
}

mxCircleLayout layout = new mxCircleLayout(graphAdapter);

layout.execute(graphAdapter.getDefaultParent());

mxGraphComponent graphComponent = new mxGraphComponent(graphAdapter);
graphComponent.getViewport().setBackground(Color.white);

'该图绘制为圆形布局,但边缘不是 TOPTOBOTTOM 样式。 First draw然后,如果我绘制一条新边缘,或者更改现有边缘,则该边缘将以 TOPTOBOTTON 样式绘制。

Modified edge take the TOPTOBOTTOMSTYLE

我不明白为什么初始绘制时没有 TOPTOBOTTOM 样式,而修改后的边缘却使用新样式完成。

最佳答案

布局默认禁用边缘样式。将disableEdgeStyle成员设置为false。

mxCircleLayout layout = new mxCircleLayout(graphAdapter);
layout.setDisableEdgeStyle(false);
layout.execute(graphAdapter.getDefaultParent());

关于java - Jgraphx样式应用于circleLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42331598/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com