ProjektGraph/OurApplication/OurDrawArea.java

65 lines
1.6 KiB
Java
Raw Normal View History

2024-07-02 19:13:30 +00:00
package OurApplication;
import logging.LogElementList;
import visualisation.DrawArea;
import visualizationElements.Edge;
2024-07-07 18:34:38 +00:00
import visualizationElements.Vertex;
2024-07-07 18:34:38 +00:00
import javax.swing.*;
import java.awt.Graphics;
2024-07-07 18:34:38 +00:00
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
2024-07-02 19:13:30 +00:00
/**
* This class provides an example for using visualization.DrawArea.
* @see logging.Algorithm
@author MSch<EFBFBD>fer
* DHBW Stuttgart/Campus Horb AI2008<br>
* <br>
*/
public class OurDrawArea extends DrawArea{
private static final long serialVersionUID = 1L;
private visualizationElements.Graph currentGraph;
2024-07-03 17:41:46 +00:00
2024-07-02 19:13:30 +00:00
/**
* Standard constructor.
*/
public OurDrawArea() {
super();
}
/**
* Creates a test draw area and sets the specified log list.
* @param logList the draw area's log list test log elements.
* @param drawAreaName The display name over the draw area.
*/
public OurDrawArea(LogElementList<OurLogElement> logList, String drawAreaName){
super(logList, drawAreaName);
}
2024-07-03 17:41:46 +00:00
public void setCurrentGraph(visualizationElements.Graph graph) {
2024-07-03 17:41:46 +00:00
this.currentGraph = graph;
}
2024-07-02 19:13:30 +00:00
/**
* Draws a visualization element.
*/
2024-07-02 22:46:21 +00:00
public void draw(Graphics g) {
2024-07-02 19:13:30 +00:00
2024-07-03 17:41:46 +00:00
OurLogElement logElement = (OurLogElement) logList.get();
this.setCurrentGraph(((OurLogElement) logList.get()).getGraph());
logElement.getGraph().draw(g);
for(Edge screenEdge : currentGraph.getEdges()){
g.drawString(screenEdge.getMarking(), (screenEdge.getSource().getXpos() + screenEdge.getDestination().getXpos())/2, (screenEdge.getSource().getYpos() + screenEdge.getDestination().getYpos())/2);
}
2024-07-02 19:13:30 +00:00
}
2024-07-03 17:41:46 +00:00
2024-07-02 19:13:30 +00:00
}