Я пытаюсь создать график с помощью GraphStream API. Я хочу добавить некоторые визуальные эффекты поверх макета графика, нарисованного с помощью API, поэтому я планирую встроить график в JFrame.
Я прочитал этот пост здесь (Как нарисовать график внутри свинга с помощью GraphStream на самом деле?), чтобы посмотреть некоторые реализации, но я всегда получаю ошибку исключения:
Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: (class: org/graphstream/ui/swingViewer/Viewer, method: addDefaultView signature: (Z)Lorg/graphstream/ui/swingViewer/View;) Incompatible argument to function
at ShowGraph$MyFrame.<init>(ShowGraph.java:17)
at ShowGraph$1.run(ShowGraph.java:34)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Используемый код такой же, как и в ссылке:
public class ShowGraph
{
private static Graph graph = new SingleGraph("Graph");
public static class MyFrame extends JFrame
{
private static final long serialversionUID = 8394236698316485656L;
private Viewer viewer = new Viewer(graph,Viewer.ThreadingModel.GRAPH_IN_ANOTHER_THREAD);
private View view = viewer.addDefaultView(false);
public MyFrame()
{
setLayout(new BorderLayout());
add(view,BorderLayout.CENTER);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public static void main(String args[])
{
SwingUtilities.invokeLater(new Runnable()
{
public void run() {
graph.addNode("A");
graph.addNode("B");
graph.addNode("C");
graph.addEdge("AB", "A", "B");
graph.addEdge("BC", "B", "C");
graph.addEdge("CA", "C", "A");
MyFrame frame = new MyFrame();
frame.setSize(320, 240);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
Viewer.addDefaultView(...)
? - person zer0chain   schedule 26.05.2016org.graphstream.ui.view
. Можешь подтвердить ? - person zer0chain   schedule 01.06.2016add((Component)view,BorderLayout.CENTER);
и теперь он работает. Знаешь, почему я должен это сделать? Спасибо! - person Hugo Gayoso   schedule 02.06.2016