error1408 Geschrieben 16. November 2005 Geschrieben 16. November 2005 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 Zitieren
Pinhead Geschrieben 17. November 2005 Geschrieben 17. November 2005 Welches der beiden Rechtecke wird denn gezeichnet ? Versuch doch mal nach dem die Canvas Objekte hinzugefügt wurden auf den Frame ein pack() aufzurufen Zitieren
ksg9-sebastian Geschrieben 19. November 2005 Geschrieben 19. November 2005 zeig mal bitte mehr code ! Zitieren
dark-man Geschrieben 22. November 2005 Geschrieben 22. November 2005 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. Zitieren
speedi Geschrieben 28. November 2005 Geschrieben 28. November 2005 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. Zitieren
perdian Geschrieben 28. November 2005 Geschrieben 28. November 2005 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/ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.