画图组件jgraphx项目主题样式实践(六)

Java画流程图
placeholder image
admin 发布于:2023-07-30 15:41:16
阅读:loading

前面一些文章整体上对流程图组件jgraphx的简单介绍和自带示例的展示,同时也对它的导出进行了实践,实际上仔细点的话里面的东西还是比较多的,但是需要深入的去挖掘它,所以站在我的水平面高度上我将会对我认为有用的一些示例进行研究,前篇是对连接线和一些元素的实践,本篇则是各种元素种类的详细实践实践。

1.运行示例

前文中讲述了包含了多种元素样式的示例,本例来实践它们的主题样式,在示例中可以找到一些《basic-style.xml》、《default-style.xml》等相关的xml文件,实际它们内部定义了许多不同元素的默认或自定义的样式作为模板,除了使用编程时的方式来创建元素外,我们还可以基于这些模板来生成更好看的主题样式效果,详细如下:

image.png

(官方自带自定义样式的例子)

image.png

(下方代码生成的效果)

image.png

(基于图片填充的元素)

2.基于模板设置样式

public static void main(String[] args) throws Exception {
    mxGraph graph = new mxGraph();
    String path = ArrowExample.class.getResource("/com/mxgraph/examples/swing/resources/basic-style.xml").getPath();
    Document document = mxUtils.loadDocument(path);
    mxCodec codec = new mxCodec();
    codec.decode(document.getDocumentElement(), graph.getStylesheet());

    Object parent = graph.getDefaultParent();
    graph.getModel().beginUpdate();
    Object vertex = graph.insertVertex(parent, null, "Hello", 20, 20, 80, 30, "defaultVertex");
    graph.getModel().endUpdate();

    //保存图片
    BufferedImage image = mxCellRenderer.createBufferedImage(graph, null, 2, Color.WHITE, true, null);
    File file = new File("222.png");
    ImageIO.write(image, "PNG", file);

}


 点赞


 发表评论

当前回复:作者

 评论列表


留言区