me gustaría para trazar líneas en un gráfico simple x,y
para mostrar en un JApplet usando JGraphT. Los ejemplos que encontré no fueron muy útiles. ¿Podría alguien señalarme algunos ejemplos simples JGraphT?ejemplos JGraphT
8
A
Respuesta
6
aquí un ejemplo que espero le ayudará jgrapht
4
package simple;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import org.jgraph.JGraph;
import org.jgraph.graph.AttributeMap;
import org.jgraph.graph.DefaultGraphCell;
import org.jgraph.graph.GraphConstants;
import org.jgrapht.*;
import org.jgrapht.ext.*;
import org.jgrapht.graph.*;
// resolve ambiguity
import org.jgrapht.graph.DefaultEdge;
import com.compilervision.common.CFNode;
import com.compilervision.common.llvmir.instructions.CFG;
import com.compilervision.common.Edge;
/**
* A demo applet that shows how to use JGraph to visualize JGraphT graphs.
*
* @author Barak Naveh
* @since Aug 3, 2003
*/
public class Test
extends JApplet
{
//~ Static fields/initializers ---------------------------------------------
private static final long serialVersionUID = 3256444702936019250L;
private static final Color DEFAULT_BG_COLOR = Color.decode("#FAFBFF");
private static final Dimension DEFAULT_SIZE = new Dimension(530, 320);
//~ Instance fields --------------------------------------------------------
//
private JGraphModelAdapter<CFNode, Edge> jgAdapter;
//~ Methods ----------------------------------------------------------------
/**
* An alternative starting point for this demo, to also allow running this
* applet as an application.
*
* @param args ignored.
*/
public static void main(String [] args)
{
Test applet = new Test();
applet.init();
JFrame frame = new JFrame();
frame.getContentPane().add(applet);
frame.setTitle("JGraphT Adapter to JGraph Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
/**
* {@inheritDoc}
*/
public void init()
{
// create a JGraphT graphq
ListenableGraph<CFNode, Edge> g =
new ListenableDirectedMultigraph<CFNode, Edge>(
Edge.class);
// create a visualization using JGraph, via an adapter
jgAdapter = new JGraphModelAdapter<CFNode,Edge>(g);
JGraph jgraph = new JGraph(jgAdapter);
adjustDisplaySettings(jgraph);
getContentPane().add(jgraph);
resize(DEFAULT_SIZE);
String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";
// add some sample data (graph manipulated via JGraphT)
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v1);
g.addEdge(v4, v3);
// position vertices nicely within JGraph component
//GraphSimpleLayout()
positionVertexAt(v1, 130, 140);
positionVertexAt(v2, 60, 200);
positionVertexAt(v3, 310, 230);
positionVertexAt(v4, 380, 70);
// that's all there is to it!...
}
private void adjustDisplaySettings(JGraph jg)
{
jg.setPreferredSize(DEFAULT_SIZE);
Color c = DEFAULT_BG_COLOR;
String colorStr = null;
try {
colorStr = getParameter("bgcolor");
} catch (Exception e) {
}
if (colorStr != null) {
c = Color.decode(colorStr);
}
jg.setBackground(c);
}
@SuppressWarnings("unchecked") // FIXME hb 28-nov-05: See FIXME below
private void positionVertexAt(Object vertex, int x, int y)
{
DefaultGraphCell cell = jgAdapter.getVertexCell(vertex);
AttributeMap attr = cell.getAttributes();
Rectangle2D bounds = GraphConstants.getBounds(attr);
Rectangle2D newBounds = new Rectangle2D.Double(x,y,bounds.getWidth(),bounds.getHeight());
GraphConstants.setBounds(attr, newBounds);
// TODO: Clean up generics once JGraph goes generic
org.jgraph.graph.AttributeMap cellAttr = new AttributeMap();
cellAttr.put(cell, attr);
jgAdapter.edit(cellAttr, null, null, null);
}
//~ Inner Classes ----------------------------------------------------------
/**
* a listenable directed multigraph that allows loops and parallel edges.
*/
private static class ListenableDirectedMultigraph<V, E>
extends DefaultListenableGraph<V, E>
implements DirectedGraph<V, E>
{
private static final long serialVersionUID = 1L;
ListenableDirectedMultigraph(Class<E> edgeClass)
{
super(new DirectedMultigraph<V, E>(edgeClass));
}
}
}
// End JGraphAdapterDemo.java
Cuestiones relacionadas
- 1. pesos en JGraphT
- 2. ¿No se compilaron los ejemplos en cascada?
- 3. mochijson2 ejemplos!
- 4. setup.py ejemplos?
- 5. Ejemplos de JFace en Eclipse como SWT Ejemplos?
- 6. 101 Rx Ejemplos
- 7. Qt y Sqlite ejemplos
- 8. ejemplos de Python quantlib?
- 9. SpecFlow/TDC Ejemplos
- 10. JavaScript ejemplos de codificación
- 11. Ejemplos de colisiones hash?
- 12. Ejemplos de Robotium
- 13. Ejemplos de Bison java
- 14. File.getCanonicalPath() ejemplos de fracaso
- 15. Tornado login Ejemplos/Tutoriales
- 16. ejemplos de arquitectura DCI?
- 17. Ejemplos para Winsock?
- 18. OpenCV crea ejemplos ejemplo
- 19. x509 C# ejemplos?
- 20. reemplazar ejemplos de función
- 21. D etc.c.curr ejemplos
- 22. Ejemplos de plantillas Go
- 23. Tcl/Tk ejemplos?
- 24. ¿Ejemplos de captura previa?
- 25. Ejemplos/guías de NCrawler
- 26. java.util.concurrent, ejemplos, tutorial y código
- 27. Los ejemplos de MATLAB fallan
- 28. Ejemplos de prueba de unidad?
- 29. Ejemplos bien escritos de C++
- 30. Ejemplos de consultas con parámetros