ProjektGraph/OurApplication/OurApplication.java

95 lines
2.8 KiB
Java
Raw Normal View History

2024-07-02 21:13:30 +02:00
package OurApplication;
2024-07-03 19:41:46 +02:00
import graph.*;
2024-07-02 21:13:30 +02:00
import logging.LogElementList;
import visualisation.HybridWindow;
import javax.swing.*;
2024-07-03 19:41:46 +02:00
import java.util.Random;
2024-07-02 21:13:30 +02:00
/**
* 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<EFBFBD>fer
* DHBW Stuttgart/Campus Horb AI2008<br>
* <br>
*/
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<VertexMarking, EdgeMarking> myGraph = new DirectedGraph<>();
ExampleGraphs temp = new ExampleGraphs();
myGraph = temp.example1();
//sean: Ich wollte erst hier dann das ausgewählte Beispiel reinhauen, jedoch wird das hier nur einmal am Anfang aufgerufen
System.out.println(myGraph.toString());
LogElementList<OurLogElement> logList=new LogElementList<OurLogElement>();
2024-07-03 00:46:21 +02:00
OurParameterArea parameterArea = new OurParameterArea();
OurDrawArea drawArea = new OurDrawArea(logList,"GraphVisualization");
OurTextArea textArea = new OurTextArea(logList);
2024-07-03 00:46:21 +02:00
OurAlgorithm algorithm = new OurAlgorithm(parameterArea);
OurLegendArea legendArea = new OurLegendArea();
HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea> applet = new HybridWindow<OurDrawArea, OurTextArea, OurParameterArea, OurAlgorithm, OurLogElement, OurLegendArea>(drawArea, textArea, parameterArea, algorithm, logList, legendArea);
2024-07-02 21:13:30 +02:00
2024-07-07 16:29:45 +02:00
2024-07-03 00:46:21 +02:00
JFrame frame = new JFrame("Visualise");
2024-07-02 21:13:30 +02:00
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet);
frame.pack();
applet.init();
applet.start();
frame.setSize(800,600);
frame.setVisible(true);
2024-07-03 00:46:21 +02:00
2024-07-03 19:41:46 +02:00
2024-07-05 15:08:33 +02:00
/*for (int i = 0; i < 10; i++) {
2024-07-03 19:41:46 +02:00
myGraph.addVertex(new MarkedVertex<>(random.nextInt(1, 10)*40, random.nextInt(1, 10)*40, Integer.toString(i), null, Color.BLACK));
}
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
}
2024-07-05 15:08:33 +02:00
2024-07-03 19:41:46 +02:00
for (MarkedVertex<VertexMarking> i: myGraph.getAllVertexes()) {
myGraph.addEdge(new MarkedEdge<>("a", i, myGraph.getAllVertexes().get(random.nextInt(myGraph.getAllVertexes().size())), null, random.nextInt(1, 10)));
}
*/
2024-07-02 21:13:30 +02:00
}
}