Hallo!
Ich habe eine GUI gebastelt, in die ich einen Funktionsterm eingeben kann und möchte diese Funktion zeichnen lassen.
Ich habe eine Methode, in der alle X-Werte von -10 - 10 in schritten von 0.02 (1px bei 1000px Fenstergröße) durchgerechnet werden und die X- und Y-Werte bereits als Koordinaten ausgerechnet (als für das JFrame indem sie gezeichnet werden sollen) in eine List<Point> eingetragen werden, die ich theoretisch nurnoch zeichnen müsste.
Also habe ich in der Liste z.B. folgende Punkte:
(500/500)
(501/490)
(502/460)
(503/400)
[...]
Ich möchte nun, dass diese Punkte der Reihe nach mit einer Linie verbunden werden, wenn ich die Funktion dazu aufrufe und diese Linien in meinem JFrame (oder von mir aus auch einem untergeordnetem JPanel) angezeigt werden...
Bisher habe ich noch nicht mit paint(Graphics g) gearbeitet und habe mit folgenden Codeansatz erarbeitet:
Nur:
Wann wird paint(g) aufgerufen (habe gelesen bei f.setVisible(true)
, bzw. wie kann ich es manuell tun?
Was bedeutet eigentlich genau das Ojekt Graphics g?! Was wäre es in meinem Falle? Muss ich noch ein erzeugen?
Oder noch besser: Gibt es eine Alternative, mit der ich die Punkte ohne Graphics g verbinden kann?!
VG und Danke für die Hlfe!
Markus
Ich habe eine GUI gebastelt, in die ich einen Funktionsterm eingeben kann und möchte diese Funktion zeichnen lassen.
Ich habe eine Methode, in der alle X-Werte von -10 - 10 in schritten von 0.02 (1px bei 1000px Fenstergröße) durchgerechnet werden und die X- und Y-Werte bereits als Koordinaten ausgerechnet (als für das JFrame indem sie gezeichnet werden sollen) in eine List<Point> eingetragen werden, die ich theoretisch nurnoch zeichnen müsste.
Also habe ich in der Liste z.B. folgende Punkte:
(500/500)
(501/490)
(502/460)
(503/400)
[...]
Ich möchte nun, dass diese Punkte der Reihe nach mit einer Linie verbunden werden, wenn ich die Funktion dazu aufrufe und diese Linien in meinem JFrame (oder von mir aus auch einem untergeordnetem JPanel) angezeigt werden...
Bisher habe ich noch nicht mit paint(Graphics g) gearbeitet und habe mit folgenden Codeansatz erarbeitet:
Java:
public List<Point> punkte = new LinkedList<Point>();
public Point letzterPunkt, aktuellerPunkt;
public JFrame f;
public void paint(Graphics g) {
Iterator<Point> it = punkte.iterator();
while(it.hasNext()) {
if(aktuellerPunkt!=null) {
letzterPunkt=aktuellerPunkt;
}
aktuellerPunkt = it.next();
if(letzterPunkt!=null) {
g.drawLine(letzterPunkt.x, letzterPunkt.y, aktuellerPunkt.x, aktuellerPunkt.y);
}
}
}
Nur:
Wann wird paint(g) aufgerufen (habe gelesen bei f.setVisible(true)
Was bedeutet eigentlich genau das Ojekt Graphics g?! Was wäre es in meinem Falle? Muss ich noch ein erzeugen?
Oder noch besser: Gibt es eine Alternative, mit der ich die Punkte ohne Graphics g verbinden kann?!
VG und Danke für die Hlfe!
Markus