Veröffentlicht 16. November 200519 j Hi, ich habe ein JFrame mit BorderLayout, um zu zeichnen habe ich zwei Canvas-Objekte angelegt. Das Problem nur eins wird gezeichnet(bzw. nur eins der Rechtecke. Ich habe je ein Rechteck pro Canvas) und ich weiß nicht wieso. Ein Ausschnitt: { zeichenflaeche = new Canvas(){ public void paint(Graphics g){ g.drawRect(5,10,23,14); } }; getContentPane().add(zeichenflaeche, BorderLayout.CENTER); } { legende = new Canvas(){ public void paint(Graphics g){ g.drawRect(2,2,23,14); } }; getContentPane().add(legende, BorderLayout.EAST); } Ich hoffe ihr könnt mir helfen
17. November 200519 j Welches der beiden Rechtecke wird denn gezeichnet ? Versuch doch mal nach dem die Canvas Objekte hinzugefügt wurden auf den Frame ein pack() aufzurufen
22. November 200519 j Versuch mal mit jpanel, anstatt mit einer Canvas zu arbeiten. Funktioniert genauso, wenn man die Paintmethode überschreibt und hat den Vorteil das du AWT und Swing-Elemente nicht vermischst, was oft zu Problemen führt.
28. November 200519 j Ich habe bislang noch nie für eine Zeichnung Canvas verwendet. Versuche halt mal dir über Vererbung ein eigenes JPanel zu erzeugen. Davon kannst du dann so viele einfügen wie du lustig bist.
28. November 200519 j Wie schon zur Sprache gekommen ist: Verabschiede dich von Canvas und verwende direkt Swing Komponenten. Als Erklärung wieso es sonst zu Problemen kommen kann: http://java.sun.com/products/jfc/tsc/articles/mixing/
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.