Ich habe soeben den Versuch gestartet einen Plotter, der mir den Graph von quadratischen Funktionen grafisch zurückgibt, zu programmieren.
Jedoch scheitere ich im Moment noch an der void paint(Graphics g){} methode.
Dabei ist NICHT das mathematische Konzept das Problem, sondern das zeichnen eines striches, bzw Punktes selbst. Bei mir bleibt das ganze Fenster weiß, egal ob ich den hintergrund manuell ändere oder nicht.
Ich vermute, dass das Problem am LayoutManager liegt(ich will ihn aber verwenden), lasse mich aber gerne eines besseren belehren
Muss ich diese explizit aufrufen oder genügt es sie einfach unter dem Konstruktor zu implementieren?
hier der code:
die main ruft dann
MyWindow plotter = new MyWindow();
auf.
Ich danke euch im voraus für eure hilfe
Lg
Jedoch scheitere ich im Moment noch an der void paint(Graphics g){} methode.
Dabei ist NICHT das mathematische Konzept das Problem, sondern das zeichnen eines striches, bzw Punktes selbst. Bei mir bleibt das ganze Fenster weiß, egal ob ich den hintergrund manuell ändere oder nicht.
Ich vermute, dass das Problem am LayoutManager liegt(ich will ihn aber verwenden), lasse mich aber gerne eines besseren belehren
Muss ich diese explizit aufrufen oder genügt es sie einfach unter dem Konstruktor zu implementieren?
hier der code:
Java:
package awt.plotter;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
public class MyWindow extends Frame {
Frame frame;
Label l1;
Label l2;
Label l3;
Button b1;
TextField t1;
TextField t2;
TextField t3;
Panel panel;
Canvas canvas;
MyWindow() {
frame = new Frame("GraphPlotter");
frame.setSize(800, 800);
l1 = new Label("f(x)= ");
l2 = new Label(" x^2 + ");
l3 = new Label(" x + ");
t1 = new TextField("1");
t2 = new TextField("2");
t3 = new TextField("3");
b1 = new Button("Plot");
frame.setVisible(true);
frame.setLayout(new FlowLayout());
frame.add(l1);
frame.add(t1);
frame.add(l2);
frame.add(t2);
frame.add(l3);
frame.add(t3);
frame.add(b1);
}
public void paint(Graphics g) {
g.drawLine(300, 200, 100, 100); // Macht nichts
g.fillRect(10, 10, 300, 300); // ist auch im "Hintergrund"??
}
}
MyWindow plotter = new MyWindow();
auf.
Ich danke euch im voraus für eure hilfe
Lg