Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.03 KB | None | 0 0
  1. package javagraph;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Frame;
  7. import java.awt.GridLayout;
  8. import java.awt.HeadlessException;
  9. import java.awt.Label;
  10. import java.awt.Point;
  11. import java.awt.event.MouseEvent;
  12. import java.awt.event.MouseMotionListener;
  13. import java.awt.event.MouseWheelEvent;
  14. import java.awt.event.MouseWheelListener;
  15. import java.util.Collection;
  16. import java.util.HashMap;
  17. import java.util.Iterator;
  18. import javafx.scene.input.ClipboardContent;
  19. import javax.swing.JFrame;
  20. import javax.swing.JPanel;
  21. import org.graphstream.graph.*;
  22. import org.graphstream.graph.implementations.*;
  23. import org.graphstream.stream.ProxyPipe;
  24. import org.graphstream.ui.graphicGraph.stylesheet.StyleConstants.Units;
  25. import org.graphstream.ui.spriteManager.Sprite;
  26. import org.graphstream.ui.spriteManager.SpriteManager;
  27. import org.graphstream.ui.swingViewer.DefaultView;
  28. import org.graphstream.ui.swingViewer.View;
  29. import org.graphstream.ui.swingViewer.Viewer;
  30.  
  31. public class Tutorial1 {
  32. private static Point point;
  33.  
  34. protected static String styleSheet =
  35. // "node {fill-color: black;}" +
  36. // "node.marked {fill-color: red;}";
  37. "node {shape: rounded-box;" +
  38. "size: 15px, 20px;"+
  39. "fill-mode: plain;"+
  40. "fill-color: black;"+
  41. "stroke-mode: plain;"+
  42. "stroke-color: green;} ";
  43.  
  44. public Tutorial1() {
  45.  
  46.  
  47.  
  48. //Kitas renderis
  49. System.setProperty("gs.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
  50. Graph graph = new SingleGraph("Tutorial");
  51. Node taskas = graph.getNode("Tutorial");
  52.  
  53.  
  54.  
  55. graph.setAutoCreate(true);
  56. graph.setStrict(false);
  57. graph.addNode("A");
  58. graph.addNode("B");
  59. graph.addNode("C");
  60. graph.addEdge("AB", "A", "B");
  61. graph.addEdge("BC", "B", "C");
  62. graph.addEdge("CA", "C", "A");
  63. int k=0;
  64. while(k<4){
  65. int k2 = k+1;
  66. graph.addEdge("v"+k+"v"+k2, "v"+k, "v"+k2);
  67. k++;
  68. }
  69. JFrame panel = new JFrame();
  70.  
  71. Viewer view = graph.display(true);
  72. view.enableAutoLayout(); // aktyvuoja layout
  73. view.getDefaultView();
  74. View w = view.getDefaultView();
  75. w.resizeFrame(800, 600);
  76. w.setViewCenter(4, 2, 0);
  77. w.setViewPercent(2);
  78. panel.add(w);
  79. panel.setVisible(true);
  80. panel.setTitle("My window there I want to put graph view object");
  81.  
  82.  
  83.  
  84. //System.out.println(Frame.n);
  85. MouseMotionListener mouseListener = new MouseMotionListener() {
  86.  
  87. @Override
  88. public void mouseDragged(MouseEvent me) {
  89. System.out.println("Mouse draged");
  90. // w.resetView();
  91. }
  92.  
  93. @Override
  94. public void mouseMoved(MouseEvent me) {
  95. System.out.println("Mouse moved");
  96. point = me.getPoint();
  97. System.out.println("Point :" + point.getX() + " : "+ point.getY());
  98. }
  99. };
  100.  
  101.  
  102.  
  103.  
  104.  
  105. MouseWheelListener listener = new MouseWheelListener() {
  106.  
  107.  
  108. @Override
  109. public void mouseWheelMoved(MouseWheelEvent mwe) {
  110. int wheelRotation = mwe.getWheelRotation();
  111. double viewPercent = w.getViewPercent();
  112. System.out.println("ViewPercent" + viewPercent+": Direction : "+wheelRotation);
  113. if(viewPercent>0.1){
  114. if(wheelRotation==-1){
  115. viewPercent=viewPercent-0.1;
  116. w.setViewPercent(viewPercent);
  117. // w.setViewCenter(point.getX(),point.getY(),3);
  118.  
  119. System.out.println();
  120. }
  121. if(wheelRotation==1){
  122. viewPercent=viewPercent+0.1;
  123. w.setViewPercent(viewPercent);
  124. }
  125. }
  126. else{
  127. if(wheelRotation==1){
  128. viewPercent=viewPercent+0.1;
  129. w.setViewPercent(viewPercent);
  130.  
  131. }
  132. }
  133. }
  134.  
  135. };
  136. w.addMouseWheelListener(listener);
  137. w.addMouseMotionListener(mouseListener);
  138.  
  139. // w.setViewCenter(2, 3, 4);
  140. // w.setViewPercent(10); //didina vaizda statiškai.
  141.  
  142.  
  143.  
  144. System.out.println(graph.getNode("A").toString()); //grazina virsune
  145. System.out.println(graph.getEdge("AB").toString()); // grazina briauna
  146.  
  147. for (Node n : graph) { //grazina visas virsunes
  148. System.out.println(n.getId());
  149. }
  150. for (Edge e : graph.getEachEdge()) { //grazina visas briaunas
  151. System.out.println(e.getId());
  152. }
  153.  
  154. for (Node e : graph.getEachNode()) { //grazina visas virsunes
  155. System.out.println(e.getId());
  156. }
  157.  
  158. Collection<Node> nodes = graph.getNodeSet(); //darbas su kolekcijom
  159.  
  160. //iteratorius
  161. Iterator<? extends Node> nodesit = graph.getNodeIterator(); //Graph.getEdgeIterator().
  162.  
  163. while (nodesit.hasNext()) {
  164. Node node = nodesit.next();
  165. //
  166. }
  167.  
  168. //atributai
  169. Node nn = graph.getNode("A");
  170. nn.setAttribute("foo", "bar");
  171. String value = nn.getAttribute("foo"); //n.setAttribute("weight", 1.5); double n.setAttribute("a lot", 1, 2, 3, 4);
  172. //Object[] array = n.getAttribute("a lot"); n.removeAttribute("foo");
  173.  
  174. //You can also use an iterator for this:
  175. Iterator<String> i = nn.getAttributeKeyIterator();
  176.  
  177. while (i.hasNext()) {
  178. Object val = nn.getAttribute(i.next());
  179.  
  180. }
  181.  
  182. //avoiding null atributus
  183. graph.setNullAttributesAreErrors(true);
  184.  
  185. //Default viewer use Java2D rendering. t renders nodes as circles whose size and color can be specified individually.
  186. //The edges are straight lines whose width and color can also be changed individually.
  187. //A label can be printed aside the nodes and edges.
  188. Node nnn = graph.addNode("D");
  189. nnn.addAttribute("ui.label", "D");
  190. graph.addAttribute("ui.stylesheet", styleSheet);
  191. nnn.setAttribute("ui.class", "marked");
  192.  
  193. //fiksuotos nelabai cia gaunasi
  194. // Node nf = graph.addNode("F");
  195. // nf.setAttribute("x", 1);
  196. // nf.setAttribute("y", 3);
  197. //
  198.  
  199. //Atributu pridejimas
  200. SpriteManager sman = new SpriteManager(graph);
  201. Sprite s = sman.addSprite("S1");
  202. s.attachToNode("A");
  203. // s.setPosition(Units.PX, 12, 180, 0);
  204. //s.setPosition(2, 1, 0);
  205. // s.attachToNode("A");
  206. s.setPosition(0.1);
  207.  
  208.  
  209.  
  210.  
  211.  
  212. }
  213.  
  214.  
  215.  
  216.  
  217.  
  218. public static void main(String args[]) {
  219. Tutorial1 langas = new Tutorial1();
  220.  
  221.  
  222.  
  223. }
  224.  
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement