`
kanpiaoxue
  • 浏览: 1781375 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jgraph可视化形成png图片

 
阅读更多

 

pom.xml

<jgrapht.version>1.3.1</jgrapht.version>

<!-- https://mvnrepository.com/artifact/org.jgrapht/jgrapht-ext -->
<dependency>
    <groupId>org.jgrapht</groupId>
    <artifactId>jgrapht-ext</artifactId>
    <version>${jgrapht.version}</version>
</dependency>

<dependency>
    <groupId>org.jgrapht</groupId>
    <artifactId>jgrapht-io</artifactId>
    <version>${jgrapht.version}</version>
</dependency>

<dependency>
    <groupId>org.jgrapht</groupId>
    <artifactId>jgrapht-core</artifactId>
    <version>${jgrapht.version}</version>
</dependency>

 

 

自定义Edge

public class UDFEdge extends DefaultEdge{
    
    /**
     * 
     */
    private static final long serialVersionUID = 8239849745413195857L;

    /**
     * 
     */
    public UDFEdge() {
        super();
    }

    @Override
    public String toString()
    {
        return StringUtils.EMPTY;
    }
}

 

 

jgraph的图形化,画出png的图片。

   public static void drawGraph() throws Exception {

        File imgFile = new File(
                "temp/jgrapht/hello1.png");
        if (imgFile.exists()) {
            imgFile.delete();
        }
        imgFile.createNewFile();

        DefaultDirectedGraph<String, UDFEdge> g = new DefaultDirectedGraph<String, UDFEdge>(UDFEdge.class);

        List<String> vertices = IntStream.rangeClosed(1, 20).mapToObj(i -> {
            return String.format("v%d", i);
        }).collect(Collectors.toList());

        Graphs.addAllVertices(g, vertices);

   

        
          g.addEdge("v1", "v2");
          g.addEdge("v2", "v3");
          g.addEdge("v2", "v4");
          g.addEdge("v3", "v5");
          g.addEdge("v2", "v5");
          
          g.addEdge("v5", "v6");
          g.addEdge("v6", "v7");
          g.addEdge("v6", "v8");
          g.addEdge("v6", "v9");
          g.addEdge("v6", "v10");
          g.addEdge("v8", "v11");
          g.addEdge("v8", "v12");
          g.addEdge("v8", "v13");
          g.addEdge("v14", "v13");
          g.addEdge("v15", "v13");
          g.addEdge("v13", "v16");
          g.addEdge("v16", "v17");
          g.addEdge("v16", "v18");
          g.addEdge("v16", "v19");
          g.addEdge("v20", "v19");
          g.addEdge("v4", "v13");
          g.addEdge("v4", "v20");
         

        JGraphXAdapter<String, UDFEdge> graphAdapter = new JGraphXAdapter<String, UDFEdge>(g);
        // mxIGraphLayout layout = new mxCircleLayout(graphAdapter);
        mxIGraphLayout layout = new mxHierarchicalLayout(graphAdapter);
        layout.execute(graphAdapter.getDefaultParent());

        BufferedImage image =
                mxCellRenderer.createBufferedImage(graphAdapter, null, 2, Color.WHITE, true, null);
        ImageIO.write(image, "PNG", imgFile);

    }

 

 

分享到:
评论

相关推荐

    JGraph

    ### JGraph:强大的图形可视化与交互工具 #### 一、简介 **JGraph**是一款用于创建、编辑和显示图表的高性能、轻量级Java库。它不仅提供了丰富的API来实现复杂的图表绘制,还支持多种布局算法和数据分析功能,使得...

    JGraph 手册+The JGraph Tutorial

    2. **基本图形元素**:详细讲解了JGraph中的节点(Vertices)和边(Edges),包括它们的创建、属性设置和可视化定制。 3. **模型与视图**:JGraph采用MVC(模型-视图-控制器)架构,手册会解释如何定义模型数据,...

    jgraph

    jgraph广泛应用于业务流程建模、数据分析可视化、UI设计原型、教学演示以及科学计算等领域,为各种类型的应用程序提供强大的图形支持。 9. **与其他工具集成:** jgraph可以与后端框架(如Node.js、Django等)、...

    jgraph源码+例子

    JGraph是一款强大的图形绘制库,主要...通过深入学习和实践,你可以利用JGraph创建出富有表现力的可视化应用,无论是用于数据分析、流程设计还是其他领域。这个压缩包中的源代码和示例将是你探索JGraph世界的重要起点。

    JGraph小列子加jar包

    **正文** JGraph是一款强大的图形库,主要用于创建和编辑交互式的图表和图形用户界面。它在Java编程语言中实现,提供了丰富的API和功能,使得...通过不断地实践和探索,你会发现JGraph是一个无限可能的可视化工具。

    jgraph源代码

    JGraph不仅提供了基本的图形绘制功能,还支持图形的拖放、缩放、旋转等操作,以及事件处理,如点击、双击、拖动等,这使得开发者能够创建出用户友好且功能强大的可视化应用。 JGraph的开源性质使得开发人员能够查看...

    Jgraph中文讲义

    JGraph 是一款用于创建图形界面和数据可视化工具的 Java 库。它允许开发者在应用程序中构建交互式的图表和图形,提供图形布局、分析和用户交互功能。JGraph 的核心特性包括: 1. **图形可视化**:JGraph 提供了丰富...

    JGraph document

    JGraph以其直观的API、丰富的图形元素和强大的功能,使得在Java应用中构建可视化组件变得简单易行。 **二、JGraph的核心特性** 1. **图形对象与模型**:JGraph基于模型-视图-控制器(MVC)设计模式,其中模型负责...

    JGraph中文资料

    JGraph 是一款强大的图形库,主要用于创建流程图和其他类型的图形可视化应用。它为开发者提供了丰富的功能,包括图形的创建、编辑、布局以及交互性。在本文中,我们将深入探讨 JGraph 的核心概念、使用方法以及如何...

    jgraph的jar包 zip 源代码

    JGraph广泛应用于数据可视化、流程图、网络拓扑图、uml图等场合,尤其是在需要用户交互编辑图形的软件中。例如: - **项目管理工具**:用于展示项目任务间的依赖关系。 - **数据库设计工具**:展示数据库表之间的...

    Java图形组件 JGraph

    Java图形组件JGraph是一款强大的...无论你是想构建数据可视化工具、流程设计器还是其他需要图形界面的应用,JGraph都能成为你的得力助手。通过熟练掌握JGraph的API和设计理念,你将能构建出具有专业水准的图形应用。

    jgraph官方手册

    - **图形可视化**:通过jgraph,用户可以轻松地将数据转换成直观的图形表示形式,如流程图、组织结构图等。 - **图形交互**:jgraph支持丰富的用户交互方式,例如拖拽节点、调整边的位置等。 - **图形布局**:...

    Swing 实现 JGraph

    JGraph作为一个专门为Java Swing设计的图形组件,基于图论数学理论以及Swing用户接口库,实现了对图的可视化处理。这里提到的“图”是指图论中的定义,而不是函数图像。 在设计与实现JGraph时,遵循了以下原则: -...

    JGRAPH开发jar

    **JGRAPH开发jar详解** JGRAPH是一款强大的图形库,主要用于Java平台上的...无论是数据分析的可视化展示,还是流程图的绘制,JGRAPH都能够满足需求,并且提供了足够的定制空间,让开发者能够打造出个性化的图形界面。

    图形化开源软件jgraph

    **图形化开源软件jgraph详解** `jgraph`是一款强大的图形化开源软件,主要用于创建复杂的图表和图形用户界面。在后台或JApplet开发中,它提供了一套完整的解决方案,帮助开发者实现直观、动态的图形展示。这款工具...

    jgraph官方文档

    - **3.2 图形交互**:除了基本的可视化功能外,jgraph还允许用户与图表进行互动,例如拖动节点、添加或删除边等操作。这些交互能力极大地增强了图表的灵活性和可用性。 - **3.3 图形布局**:自动布局是jgraph的一大...

    Jgraph 使用手册

    1. **图形可视化**:JGraph支持多种图形元素的显示,包括节点、边、标签等,能够处理复杂的层次结构和关系网络,使数据以直观的方式呈现出来。 2. **图形交互**:用户可以通过拖拽、缩放、滚动等操作与图形进行...

    jgraph源代码包

    JGraph的核心在于其图模型(GraphModel),它定义了节点(Vertices)和边(Edges)的关系,以及它们的可视化表示。 二、JGraph组件 1. JGraphModel:这是JGraph的核心,用于存储和管理图的数据结构。它包含了节点...

    jgraph-draw.io

    这个工具的灵活性和易用性使其在IT行业中非常受欢迎,特别是对于那些需要快速可视化工作流程、系统架构或项目管理的人。 **jGraph** 是一个强大的JavaScript库,主要用于在Web浏览器中展示和操作图形。它提供了丰富...

    JGraph组件下载 JGraph.jar组件下载

    JGraph组件下载 JGraph.jar组件下载 javabean组件下载 图像绘制javabean

Global site tag (gtag.js) - Google Analytics