package prog2_aufgabe12; import java.awt.*; import java.util.Vector; import javax.swing.*; public class GPanel extends JPanel { int fileTyp = 0; Vector liste = null; double xmin, ymin, xmax, ymax; public GPanel(Vector liste) { this.liste = liste; } public void setFileTyp( int fileTyp) { this.fileTyp=fileTyp; } public void setDim() { xmin = xmax = liste.get(0).x; ymin = ymax = liste.get(0).y; for (Knoten v : liste) { if (v.x < xmin) { xmin = v.x; } if (v.x > xmax) { xmax = v.x; } if (v.y < ymin) { ymin = v.y; } if (v.y > ymax) { ymax = v.y; } } if (fileTyp == 1) { xmin *= 0.9994; ymin *= 0.9994; xmax *= 1.0004; ymax *= 1.0004; } if (fileTyp == 2) { xmin *= 0.97; ymin *= 0.97; xmax *= 1.03; ymax *= 1.03; } } public void paint(Graphics g) { double diffx = xmax - xmin; double diffy = ymax - ymin; Font f = new Font("Verdana", Font.PLAIN, 12); // Courier New FontMetrics fontMetrics = g.getFontMetrics(f); g.setFont(f); g.setColor(Color.white); g.fillRect(0, 0, getWidth(), getHeight()); // korrekter Rand for (Knoten v : liste) { v.paint(g, true, xmin, diffx, ymin, diffy, getWidth(), getHeight(), fontMetrics); } for (Knoten v : liste) { v.paint(g, false, xmin, diffx, ymin, diffy, getWidth(), getHeight(), fontMetrics); } if (liste.size() == 0) { g.setColor(Color.DARK_GRAY); g.drawString("Noch keine Daten vorhanden", 50, 50); // g.drawLine(25,25, getWidth()-50, getHeight()-50 ); // korrekter Rand); } } }