ProjektGraph/OurApplication/OurLegendArea.java
2024-07-07 20:34:38 +02:00

77 lines
3.0 KiB
Java
Raw Blame History

package OurApplication;
import visualisation.LegendArea;
import javax.swing.*;
import java.awt.*;
/**
* This class represents a visualization.LegendArea implementation and has been created for demonstration purposes only.
* Method initialize(Graphics) is overridden and now implements logic for drawing parameters on the legend area.
* @author MSch<63>fer
* DHBW Stuttgart/Campus Horb AI2008<br>
* <br>
*/
public class OurLegendArea extends LegendArea{
private static final long serialVersionUID = 1L;
/**
* Standard constructor
*/
public OurLegendArea(){
super();
//set the legend area's preferred size manually for best visualization
setPreferredSize(new Dimension(150, 170));
}
/**
* Overridden method from super class.
* Draws all elements and descriptions on the LegendArea
* @param g the Graphics object of the corresponding panel
*/
public void initialize(Graphics g) {
// Erstellt einen neuen TitledBorder für den Legendenbereich
setBorder(BorderFactory.createTitledBorder("LegendArea"));
// Zeichnet den roten Knoten (Start/End Knoten)
int y = 30; // Startposition für das Zeichnen der Legenden-Elemente
g.setColor(Color.RED);
g.fillOval(10, y, 20, 20); // Zeichnet einen kleinen Kreis (Knoten) mit der Farbe des Elements
g.setColor(Color.BLACK);
g.drawOval(10, y, 20, 20); // Zeichnet den Rand des Kreises
g.drawString("Start/End Knoten", 40, y + 15); // Zeichnet die Beschreibung neben dem Kreis
// Zeichnet den blauen Knoten (Besuchter Knoten)
y += 40; // Nach unten verschieben für das nächste Element
g.setColor(Color.BLUE);
g.fillOval(10, y, 20, 20); // Zeichnet einen kleinen Kreis (Knoten) mit der Farbe des Elements
g.setColor(Color.BLACK);
g.drawOval(10, y, 20, 20); // Zeichnet den Rand des Kreises
g.drawString("Besuchter Knoten", 40, y + 15); // Zeichnet die Beschreibung neben dem Kreis
// Zeichnet den gelben Knoten (Erreichbare Knoten)
y += 40; // Nach unten verschieben für das nächste Element
g.setColor(Color.YELLOW);
g.fillOval(10, y, 20, 20); // Zeichnet einen kleinen Kreis (Knoten) mit der Farbe des Elements
g.setColor(Color.BLACK);
g.drawOval(10, y, 20, 20); // Zeichnet den Rand des Kreises
g.drawString("Erreichbare Knoten", 40, y + 15); // Zeichnet die Beschreibung neben dem Kreis
// Zeichnet den grünen Knoten (Fertiger Weg)
y += 40; // Nach unten verschieben für das nächste Element
g.setColor(Color.green);
g.fillOval(10, y, 20, 20); // Zeichnet einen kleinen Kreis (Knoten) mit der Farbe des Elements
g.setColor(Color.BLACK);
g.drawOval(10, y, 20, 20); // Zeichnet den Rand des Kreises
g.drawString("Fertiger Weg", 40, y + 15); // Zeichnet die Beschreibung neben dem Kreis
// Zeichnet die schwarze Linie (Kanten Markierung)
y += 40; // Nach unten verschieben für das nächste Element
g.setColor(Color.BLACK);
g.drawLine(10, y + 10, 30, y + 10); // Zeichnet eine horizontale Linie
g.drawString("Kanten Markierung", 40, y + 15); // Zeichnet die Beschreibung neben der Linie
}
}