Grafik zeichnen

starbug

Erfahrenes Mitglied
Hallo Leute,

ich beschäftige mich ja seit kurzem mit grafischen Benutzeroberflächen und wollte jetzt selber mal eine Grafik zeichnen und zwar ein einfaches Gesicht bestehend aus Ovalen. Na ja hier ist mal mein Code:

Java:
import java.awt.Graphics;
import javax.swing.*;

public class Gesicht1 extends JPanel
	{
	private static final long serialVersionUID = -4600267245008041749L;
        
   
		 protected void paintComponent( Graphics g )
		  {
		    super.paintComponent( g );

		    g.drawRoundRect( 150, 150, 200, 100, 5, 5 );
		    g.fillOval( 170, 170, 160, 50 );
		    g.drawRoundRect( 650, 150, 200, 100, 5, 5 );
		    g.fillOval( 670, 170, 160, 50 );
		    g.fillOval( 450, 400, 100, 200 );
		    g.fillArc(170, 750, 650, 50, 0, 180);
		  }
                
           public static void main(String[] args)
           {
               JFrame frame = new JFrame();
               frame.repaint();
               frame.setVisible(true);
               
           }
                 
                           
        }

Leider bekomme ich keine Ausgabe, also das Fenster ist halt lee ohne die Ovale. Wie muss ich denn die Paint-Methode aufrufen?
 

Fabio Hellmann

Erfahrenes Mitglied
Hi,
das liegt daran, weil du das Objekt (Gesicht1) noch nicht zum JFrame hinzugefügt hast. ;)

Java:
public static void main(String[] args)
           {
               JFrame frame = new JFrame();
               frame.add(new Gesicht1);
               // frame.repaint(); <-- wird beim öffnen des Fensters gemacht
               frame.setVisible(true);
           }

Gruß

Fabio
 

Neue Beiträge