Zeichnen von Flächen/Figuren



  • Hallo,
    ich habe folgenden Quellcode gegeben:

    import java.awt.*;
    import java.awt.event.*;
    
    public class AWTFigur extends Panel{
    	Test f;
    	AWTFigur (Test f)
    	{
    		this.f=f;
    	}
    	public void paint (Graphics g)
    	{
    		f.paint(g);
    	}
    
    	public Dimension getPreferredSize()
    	{
    		return new Dimension (f.getWidth()+2,f.getHeight()+2);
    	}
    
    	public static void main (String args[] ){
    	Frame F=new Frame();
    	F.setLayout(new FlowLayout());
    	F.addWindowListener(new WindowAdapter()
    	{
    	public void windowClosing(WindowEvent we){System.exit(0);}});
        AWTFigur P1=new AWTFigur(new Quadrat(30));
    	F.add(P1);
    	AWTFigur P2=new AWTFigur(new Circle(50));
    	F.add(P2);
    	F.pack();
    	F.setVisible(true);
    
    	}
    
    }
    

    Nun soll ich eine Funktion public void paint(Graphics g) für jede Figur schreiben sowie die Funktionen zum Zeichnen der Figuren einfügen.

    Ich muss für Quadrat und Kreis Klassen erstellen und dann da die Funktion public void paint (Graphics g) einfügen oder?

    Mich verwirrt die ganze Zeichensache etwas vielleicht kann mir jemand ein Beispiel zeigen für das Quadrat.

    Was ist eigentlich der Unterschied zwischen Panel und JPanel? Letzteres habe ich eigentlich ausschließlich lesen können bei anderen Beiträgen.

    Danke im Voraus

    import java.awt.*;
    public class Figur {
    
    	double getCircumference()
    	{
    	return 0;
    	}
        double getArea(){
    		return 0;
    	}
    	int getHeight(){
    		return 0;
    	}
    	int getWidth(){
    		return 0;
    	}
    	public void paint (Graphics g){};
    
    	}
    

    Mit diesen Methoden zur Berechnung von Umfang etc. soll das wahrscheinlich irgendwie gezeichnet werden, weiß leider nicht wie.



  • Ein Hoch auf Javadocs 😉
    Schau dir doch mal das Graphics-Objekt in der Java API an,
    da findest du die Methode drawRect()



  • was ist mit der Zeile

    AWTFigur P1=new AWTFigur(new Quadrat(30));
    

    gemeint?


Anmelden zum Antworten