tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
474
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    JPanel ist eine abstrakte Klasse die ich im parameter der methode add() von JFrame übergebe.
    Nun kann man zum Beispiel in die Methode von JPanel schreiben:
    Code java:
    1
    
    g.drawRect(a,b,c,d);
    (a,b,c und d sind int werte)

    Nun mein Problem:

    Wenn ich jetzt JPanel(also natürlich nicht direkt JPanel sondern eine eigene Klasse).repaint() aufrufe, sollte eigentlich das alte Rechteck da bleiben und das neue drüber gezeichnet werden. Das ist aber nicht so.

    Irgendwelche Vorschläge?
    Geändert von lonol15 (15.12.11 um 18:18 Uhr)
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Nein, jedes mal wenn repaint aufgerufen wird, wird alles vorherige gelöscht. Du musst die Position des alten Rechtecks speichern, damit du es beim nächsten Aufruf von paintComponent() wieder zeichnen kannst.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Ich will aber beliebig viele Rechtecke zeichnen können.

    Wie geht das?
     

  4. #4
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    ich würde eine List anlegen mit Int Arrays

    bei jedem Rechteck was dazukommrt ein neuen eintrag erzeugen

    und in der Paint Methode wird die Liste abgeklappert und die rechtecke neu gezeichnet
     

  5. #5
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Man braucht dafür keine int-Arrays, dafür gibt es die Klasse java.awt.Rectangle. Die ist in der Lage die Koordinaten sowie Breite und Höhe zu verwalten.
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  6. #6
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Ja, aber dann musste ich tausendmal g.fillRect() schreiben.
    Ich will das nur einmal schreiben aber fünf rechtecke haben.
    Geht das irgendwie?
     

  7. #7
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Deswegen hat irgendwann ein schlauer Mensch die Schleifen erfunden ...
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  8. #8
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Is auch wider wahr.
     

Ähnliche Themen

  1. repaint mit awt funktioniert nicht
    Von mp123 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 09.06.09, 09:10
  2. Antworten: 4
    Letzter Beitrag: 22.12.08, 18:53
  3. Repaint() funktioniert nicht
    Von redbull1990 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 8
    Letzter Beitrag: 08.04.08, 15:53
  4. repaint() funktioniert nicht
    Von Supermario im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 6
    Letzter Beitrag: 24.06.07, 13:24
  5. Problem mit repaint() in JPanel
    Von HansWernerM im Forum Java
    Antworten: 4
    Letzter Beitrag: 17.06.07, 00:02