Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javagraph;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Frame;
- import java.awt.GridLayout;
- import java.awt.HeadlessException;
- import java.awt.Label;
- import java.awt.Point;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseMotionListener;
- import java.awt.event.MouseWheelEvent;
- import java.awt.event.MouseWheelListener;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.Iterator;
- import javafx.scene.input.ClipboardContent;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import org.graphstream.graph.*;
- import org.graphstream.graph.implementations.*;
- import org.graphstream.stream.ProxyPipe;
- import org.graphstream.ui.graphicGraph.stylesheet.StyleConstants.Units;
- import org.graphstream.ui.spriteManager.Sprite;
- import org.graphstream.ui.spriteManager.SpriteManager;
- import org.graphstream.ui.swingViewer.DefaultView;
- import org.graphstream.ui.swingViewer.View;
- import org.graphstream.ui.swingViewer.Viewer;
- public class Tutorial1 {
- private static Point point;
- protected static String styleSheet =
- // "node {fill-color: black;}" +
- // "node.marked {fill-color: red;}";
- "node {shape: rounded-box;" +
- "size: 15px, 20px;"+
- "fill-mode: plain;"+
- "fill-color: black;"+
- "stroke-mode: plain;"+
- "stroke-color: green;} ";
- public Tutorial1() {
- //Kitas renderis
- System.setProperty("gs.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
- Graph graph = new SingleGraph("Tutorial");
- Node taskas = graph.getNode("Tutorial");
- graph.setAutoCreate(true);
- graph.setStrict(false);
- graph.addNode("A");
- graph.addNode("B");
- graph.addNode("C");
- graph.addEdge("AB", "A", "B");
- graph.addEdge("BC", "B", "C");
- graph.addEdge("CA", "C", "A");
- int k=0;
- while(k<4){
- int k2 = k+1;
- graph.addEdge("v"+k+"v"+k2, "v"+k, "v"+k2);
- k++;
- }
- JFrame panel = new JFrame();
- Viewer view = graph.display(true);
- view.enableAutoLayout(); // aktyvuoja layout
- view.getDefaultView();
- View w = view.getDefaultView();
- w.resizeFrame(800, 600);
- w.setViewCenter(4, 2, 0);
- w.setViewPercent(2);
- panel.add(w);
- panel.setVisible(true);
- panel.setTitle("My window there I want to put graph view object");
- //System.out.println(Frame.n);
- MouseMotionListener mouseListener = new MouseMotionListener() {
- @Override
- public void mouseDragged(MouseEvent me) {
- System.out.println("Mouse draged");
- // w.resetView();
- }
- @Override
- public void mouseMoved(MouseEvent me) {
- System.out.println("Mouse moved");
- point = me.getPoint();
- System.out.println("Point :" + point.getX() + " : "+ point.getY());
- }
- };
- MouseWheelListener listener = new MouseWheelListener() {
- @Override
- public void mouseWheelMoved(MouseWheelEvent mwe) {
- int wheelRotation = mwe.getWheelRotation();
- double viewPercent = w.getViewPercent();
- System.out.println("ViewPercent" + viewPercent+": Direction : "+wheelRotation);
- if(viewPercent>0.1){
- if(wheelRotation==-1){
- viewPercent=viewPercent-0.1;
- w.setViewPercent(viewPercent);
- // w.setViewCenter(point.getX(),point.getY(),3);
- System.out.println();
- }
- if(wheelRotation==1){
- viewPercent=viewPercent+0.1;
- w.setViewPercent(viewPercent);
- }
- }
- else{
- if(wheelRotation==1){
- viewPercent=viewPercent+0.1;
- w.setViewPercent(viewPercent);
- }
- }
- }
- };
- w.addMouseWheelListener(listener);
- w.addMouseMotionListener(mouseListener);
- // w.setViewCenter(2, 3, 4);
- // w.setViewPercent(10); //didina vaizda statiškai.
- System.out.println(graph.getNode("A").toString()); //grazina virsune
- System.out.println(graph.getEdge("AB").toString()); // grazina briauna
- for (Node n : graph) { //grazina visas virsunes
- System.out.println(n.getId());
- }
- for (Edge e : graph.getEachEdge()) { //grazina visas briaunas
- System.out.println(e.getId());
- }
- for (Node e : graph.getEachNode()) { //grazina visas virsunes
- System.out.println(e.getId());
- }
- Collection<Node> nodes = graph.getNodeSet(); //darbas su kolekcijom
- //iteratorius
- Iterator<? extends Node> nodesit = graph.getNodeIterator(); //Graph.getEdgeIterator().
- while (nodesit.hasNext()) {
- Node node = nodesit.next();
- //
- }
- //atributai
- Node nn = graph.getNode("A");
- nn.setAttribute("foo", "bar");
- String value = nn.getAttribute("foo"); //n.setAttribute("weight", 1.5); double n.setAttribute("a lot", 1, 2, 3, 4);
- //Object[] array = n.getAttribute("a lot"); n.removeAttribute("foo");
- //You can also use an iterator for this:
- Iterator<String> i = nn.getAttributeKeyIterator();
- while (i.hasNext()) {
- Object val = nn.getAttribute(i.next());
- }
- //avoiding null atributus
- graph.setNullAttributesAreErrors(true);
- //Default viewer use Java2D rendering. t renders nodes as circles whose size and color can be specified individually.
- //The edges are straight lines whose width and color can also be changed individually.
- //A label can be printed aside the nodes and edges.
- Node nnn = graph.addNode("D");
- nnn.addAttribute("ui.label", "D");
- graph.addAttribute("ui.stylesheet", styleSheet);
- nnn.setAttribute("ui.class", "marked");
- //fiksuotos nelabai cia gaunasi
- // Node nf = graph.addNode("F");
- // nf.setAttribute("x", 1);
- // nf.setAttribute("y", 3);
- //
- //Atributu pridejimas
- SpriteManager sman = new SpriteManager(graph);
- Sprite s = sman.addSprite("S1");
- s.attachToNode("A");
- // s.setPosition(Units.PX, 12, 180, 0);
- //s.setPosition(2, 1, 0);
- // s.attachToNode("A");
- s.setPosition(0.1);
- }
- public static void main(String args[]) {
- Tutorial1 langas = new Tutorial1();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement