【问题标题】:GraphStream - No valid display foundGraphStream - 找不到有效的显示
【发布时间】:2022-06-22 03:48:19
【问题描述】:

我正在关注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

我完全按照教程中的说明做了。
我错过了什么? "No valid display found."是什么意思

【问题讨论】:

    标签: java graphstream


    【解决方案1】:

    如果您在 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>
    

    输出

    如果您使用 2.0 版,则需要在 JavaFXSwingAndroid 应用程序中完成。

    【讨论】:

    • 我尝试使用 1.3 版,但仍然没有运气。唯一的区别是错误消息,现在是 - 未检测到 UI 包! 而不是来自帖子的消息 - 未找到有效显示。
    • 我是 java 的 gui 新手。你知道任何使用 Graphstream 和 Swing 或 JavaFX 的代码示例吗?
    • 在我使用 1.3 版之前,我遇到了与您最初遇到的相同的错误。您使用的是什么版本的 Java?什么操作系统?
    • 我从未尝试过使用JavaFX。我今天会试一试。
    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 2018-09-17
    相关资源
    最近更新 更多