77 lines
3.0 KiB
Java
77 lines
3.0 KiB
Java
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
|
||
}
|
||
} |