Hallo,
Ich habe ein Problem mit einer Klasse, die ich von JComponent abgeleitet habe. Diese enthält eigentlich nur den Konstruktor, der den Konstruktor von JComponent Aufruft und die Überschriebene Paint-Methode die (eigentlich) einen String auf dem Übergebenen Graphics Objekt zeichnen soll.
Aufgerufen wird diese Klasse von einer Von JPanel Abgeleiteten Klasse, da diese Später einiges beinhalten sollte. Diese hat wiederum nur den Konstruktor (Aufruf von
) und die Methode paint. die mit
die Komponenten Zeichnen soll.
Aufgerufen wird alles in einer Klasse Main mit einem dynamischen JFrame Objekt:
Nun zum Problem: Die Zeichenmethode von ClassD wird aufgerufen (Ausgabe eines Strings auf der Konsole), jedoch wird nichts gezeichnet. Der String aus der Zeichenmethode von Mypanel allerdings wird gezeichnet. Wenn ich jedoch die auskommentierte Zeile anstatt der Darunter Ausführe, also über das Standard JPanel gehe, funktioniert alles wunderbar. Der Fehler muss also in Mypanel liegen:
Ist wahrscheinlich eine ziemlich einfache Anfängerfrage, jedoch hab ich keine Ahnung woran das liegen könnte. Danke schonmal für eure Hilfe
lg,
AllBetterThanS7
Ich habe ein Problem mit einer Klasse, die ich von JComponent abgeleitet habe. Diese enthält eigentlich nur den Konstruktor, der den Konstruktor von JComponent Aufruft und die Überschriebene Paint-Methode die (eigentlich) einen String auf dem Übergebenen Graphics Objekt zeichnen soll.
Aufgerufen wird diese Klasse von einer Von JPanel Abgeleiteten Klasse, da diese Später einiges beinhalten sollte. Diese hat wiederum nur den Konstruktor (Aufruf von
Code:
super()
Code:
paintComponents()
Aufgerufen wird alles in einer Klasse Main mit einem dynamischen JFrame Objekt:
Java:
Mypanel p = new UMLPanel();
p.add(new ClassD(100,100));
JFrame frame = new JFrame("Test");
//frame.add(new JPanel().add(new ClassD(100,100)));
frame.add(p);
frame.setSize(300, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.repaint();
Nun zum Problem: Die Zeichenmethode von ClassD wird aufgerufen (Ausgabe eines Strings auf der Konsole), jedoch wird nichts gezeichnet. Der String aus der Zeichenmethode von Mypanel allerdings wird gezeichnet. Wenn ich jedoch die auskommentierte Zeile anstatt der Darunter Ausführe, also über das Standard JPanel gehe, funktioniert alles wunderbar. Der Fehler muss also in Mypanel liegen:
Java:
public class Mypanel extends JPanel
{
public Mypanel()
{
super();
}
public void paint(Graphics g)
{
System.out.println("Panel wird gezeichnet");
this.paintComponents(g); //ruft entsprechende Methoden auf, zeichnet jedoch nichts
g.drawString("Von UMLPanel", 0, 10); //wird gezeichnet
}
}
Ist wahrscheinlich eine ziemlich einfache Anfängerfrage, jedoch hab ich keine Ahnung woran das liegen könnte. Danke schonmal für eure Hilfe
lg,
AllBetterThanS7