Zeichnung erscheint nur manchmal

Hallo,

beiliegende zwei Klassen (in zwei Dateien) sollten mir eigentlich nach Start von Zeichnung (java Zeichnung) ein Fenster mit zwei Ovalen anzeigen, was leider nur manchmal klappt. Meistens bleibt das Fenster nämlich leer. Hat hier jemand eine Lösung ?

import javax.swing.*;
import java.awt.*;
/** Spezielle JPanel-Klasse */
public class ZeichenPanel extends JPanel {
public void paintComponent(Graphics g) {
g.drawOval(110,60,30,15);
g.fillOval(60,130,30,30);
}
}
_______________________________________________________________

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/** Erzeuge ein Swing-Fenster mit einer Zeichnung */
public class Zeichnung extends JFrame {
Container c; // Container dieses Frames
ZeichenPanel z; // Zeichnung auf dem Zeichen-Panel

public Zeichnung() { // Konstruktor
c = getContentPane();
// Erzeuge neue Zeichnung und fuege sie dem Frame hinzu
z = new ZeichenPanel();
c.add(z);
}

public static void main(String[] args) { // main-Methode
Zeichnung fenster = new Zeichnung();
fenster.setTitle(„Zeichnung“);
fenster.setSize(200,200);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Auch hallo.

Also ich habe die beiden Dateien in einem Package unter NetBeans 4.1 Beta unter XP+SP2 kompiliert. Ohne Fehler und bei mir zeigt er ein Fenster mit zwei Ovalen. Auch bei mehreren Kompilierungen. Vielleicht weil die beiden Dateien in einem Verzeichnis liegen ?
Hier der Quellcode:
/*
* ZeichenPanel.java
*
* Created on 20. Mai 2005, 18:15
*/

/**
*
* @author Markus Lahr
*/
/*public class ZeichenPanel {

/** Creates a new instance of ZeichenPanel */
// public ZeichenPanel() {
//}

//}
import javax.swing.*;
import java.awt.*;
/** Spezielle JPanel-Klasse */
public class ZeichenPanel extends JPanel {
public void paintComponent(Graphics g) {
g.drawOval(110,60,30,15);
g.fillOval(60,130,30,30);
}
}

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/** Erzeuge ein Swing-Fenster mit einer Zeichnung */
public class Zeichnung extends JFrame {
Container c; // Container dieses Frames
ZeichenPanel z; // Zeichnung auf dem Zeichen-Panel

public Zeichnung() { // Konstruktor
c = getContentPane();
// Erzeuge neue Zeichnung und fuege sie dem Frame hinzu
z = new ZeichenPanel();
c.add(z);
}

‚c.add(z)‘ wird übrigens rot unterstrichen

******************************************************************
public static void main(String[] args) { // main-Methode
Zeichnung fenster = new Zeichnung();
fenster.setTitle(„Zeichnung“);
fenster.setSize(200,200);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

HTH
mfg M.L.

***Java Resourcen***
http://www.jaxmagazine.com
http://www.javamagazin.de
http://www.javabuch.de