package OurApplication; import graph.*; import logging.LogElementList; import visualisation.HybridWindow; import javax.swing.*; import java.awt.*; import java.util.Random; /** * This application provides an example for using logging and visualization packages. * It uses extended classes from logging and visualization. * @see OurAlgorithm * @see OurApplication * @see OurDrawArea * @see OurHybridWindow * @see OurLogElement * @see OurParameterArea * @see OurTextArea * @see OurLegendArea * @see JPanel * @author MSch�fer * DHBW Stuttgart/Campus Horb AI2008
*
*/ public class OurApplication { /** * Standard constructor. */ public OurApplication() { super(); } /** * The applications main method. * Creates a HybridWindow with TestParameterArea, TestLegendArea ,TestDrawArea, TestTextArea and TestAlgorithm and starts it. * @param args */ public static void main(String[]args){ Random random = new Random(); DirectedGraph myGraph = new DirectedGraph<>(); ExampleGraphs temp = new ExampleGraphs(); myGraph = temp.example1(); System.out.println(myGraph.toString()); OurParameterArea parameterArea = new OurParameterArea(); OurDrawArea drawArea = new OurDrawArea(myGraph.getLogList(),"GraphVisualization"); OurTextArea textArea = new OurTextArea(myGraph.getLogList()); OurAlgorithm algorithm = new OurAlgorithm(parameterArea); OurLegendArea legendArea = new OurLegendArea(); HybridWindow applet = new HybridWindow(drawArea, textArea, parameterArea, algorithm, myGraph.getLogList(), legendArea); drawArea.setCurrentGraph(myGraph.getScreenGraph()); algorithm.setCurrentGraph(myGraph); JFrame frame = new JFrame("Visualise"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(applet); frame.pack(); applet.init(); applet.start(); frame.setSize(800,600); frame.setVisible(true); /*for (int i = 0; i < 10; i++) { myGraph.addVertex(new MarkedVertex<>(random.nextInt(1, 10)*40, random.nextInt(1, 10)*40, Integer.toString(i), null, Color.BLACK)); } for (MarkedVertex i: myGraph.getAllVertexes()) { myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10))); } for (MarkedVertex i: myGraph.getAllVertexes()) { myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10))); } */ } }