Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. package Polina.Ksusha;
  2.  
  3. import org.graphstream.graph.*;
  4. import org.graphstream.graph.implementations.*;
  5. import java.util.*;
  6. import java.io.*;
  7.  
  8. public class Visualization {
  9.  
  10. public static void VisualizatePath(ArrayList<String> answer) {
  11. System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
  12. Graph visualGraph = new MultiGraph("Polina");
  13. visualGraph.addAttribute("ui.stylesheet", styleSheet);
  14. visualGraph.setAutoCreate(true);
  15. visualGraph.setStrict(false);
  16. visualGraph.display();
  17. visualGraph.addNode(answer.get(0));
  18. for(int i=1; i<answer.size(); i++){
  19. visualGraph.addNode(answer.get(i));
  20. visualGraph.addEdge(Integer.toString(i),answer.get(i-1),answer.get(i),true);
  21. }
  22. for (Node node : visualGraph) {
  23. node.addAttribute("ui.label", node.getId());
  24. node.addAttribute("ui.style", "text-alignment: under;");
  25. node.setAttribute("x", 1);
  26. node.setAttribute("y", 3);
  27. }
  28. sleepBefore();
  29. explore(visualGraph, answer);
  30. }
  31.  
  32. public static void explore(Graph visualGraph, ArrayList<String> answer) {
  33. visualGraph.getNode(answer.get(0)).setAttribute("ui.class", "marked");
  34. for(int i=1; i<answer.size(); i++){
  35. visualGraph.getEdge(Integer.toString(i)).setAttribute("ui.class", "marked");
  36. visualGraph.getNode(answer.get(i)).setAttribute("ui.class", "marked");
  37. sleep();
  38. }
  39. }
  40.  
  41. protected static void sleep() {
  42. try { Thread.sleep(10); } catch (Exception e) {}
  43. }
  44. protected static void sleepBefore() {
  45. try { Thread.sleep(10000); } catch (Exception e) {}
  46. }
  47.  
  48. protected static String styleSheet =
  49. "edge.marked {" +
  50. " fill-color: red;" +
  51. "}" +
  52. "node{"+
  53. "size :5px;"+
  54. "}"+
  55. "node.marked {" +
  56. " fill-color: red;" +
  57. "}";
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement