Я слежу за этим официальный учебник из graphStream. И я пытаюсь запустить этот пример кода, взятый оттуда:
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-coregs-algogs-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();
}
}
ПОМ
<?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, это необходимо сделать в приложении JavaFX, Swing или Android.
Я новичок в графическом интерфейсе Java. Знаете ли вы какой-нибудь пример кода для использования Graphstream с Swing или JavaFX, который я могу использовать в качестве справки?
У меня была та же ошибка, что и у вас, пока я не использовал версию 1.3. Какую версию Java вы используете? Какая операционная система?
Я никогда не пробовал это с JavaFX. Я попробую сегодня.
и я пытался использовать версию 1.3 и до сих пор не повезло. разница только в сообщении об ошибке, теперь это - Пакет пользовательского интерфейса не обнаружен! вместо сообщения из поста - Действительный дисплей не найден.