java - GraphStream - 未找到有效的显示

标签 java graphstream

我正在关注这个official tutorial图流的。 我正在尝试运行从那里获取的示例代码:

import org.graphstream.graph.*;
import org.graphstream.graph.implementations.*;
    
public class Tutorial1 {
    public static void main(String args[]) {
        Graph graph = new SingleGraph("Tutorial 1");
    
        graph.addNode("A");
        graph.addNode("B");
        graph.addNode("C");
        graph.addEdge("AB", "A", "B");
        graph.addEdge("BC", "B", "C");
        graph.addEdge("CA", "C", "A");
    
        graph.display();
    }
}

我收到以下错误:

Exception in thread "main" java.lang.RuntimeException: Cannot launch viewer.
    at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:212)
    at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:204)
    at org.test.Test.main(Test.java:23)
Caused by: org.graphstream.util.MissingDisplayException: No valid display found. Please check your System.setProperty("org.graphstream.ui") statement.
    at org.graphstream.util.Display.getDefault(Display.java:79)
    at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:209)
    ... 2 more

我完全按照教程所示进行操作。
我缺少什么? “找不到有效的显示。”是什么意思

最佳答案

如果您在 Java 中执行此操作应用程序,您需要使用1.3版本。

添加以下依赖项。 Version 1.3

  • gs-core
  • gs-algo
  • gs-ui

主要

import org.graphstream.graph.*;
import org.graphstream.graph.implementations.*;
    
public class Main {
    public static void main(String args[]) {
        Graph graph = new SingleGraph("Tutorial 1");
        graph.setStrict(false);
        graph.setAutoCreate( true );
        graph.addNode("A");
        graph.addNode("B");
        graph.addNode("C");
        graph.addEdge("AB", "A", "B");
        graph.addEdge("BC", "B", "C");
        graph.addEdge("CA", "C", "A");
    
        graph.display();
    }
}

POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>sed.home</groupId>
    <artifactId>JavaTestArea</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>org.graphstream</groupId>
            <artifactId>gs-core</artifactId>
            <version>1.3</version>
        </dependency>        
        <dependency>
            <groupId>org.graphstream</groupId>
            <artifactId>gs-algo</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>org.graphstream</groupId>
            <artifactId>gs-ui</artifactId>
            <version>1.3</version>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>15</maven.compiler.source>
        <maven.compiler.target>15</maven.compiler.target>
    </properties>
</project>

输出 enter image description here

如果您使用2.0版本,则需要在 JavaFX 中完成, Swing ,或Android应用程序。

关于java - GraphStream - 未找到有效的显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72103352/

相关文章:

java - 无法使用 Jackson 反序列化和序列化 Java List<>

java - 如何使用 GraphStream 的继承在图表中存储数据

java - 在 Graphstream 中显示平行边

java - 仅比较日期的某些部分

java - "this"在这个程序中是什么意思?

java - Maven 中的嵌入式内存数据库

java - 流式保存在 map 名称和使用该名称签名的对象数量中

zooming - 如何放大 GraphStream View ?

java - 如何在graphstream中使用静态布局

java - Graphstream 中的折叠节点