noe Geschrieben 27. November 2010 Teilen Geschrieben 27. November 2010 Hi, Ich mache gerade meine Diplomarbeit und hab dabei ein framework entwickelt. Ich hab nur noch zwei Wochen übrig und hab schon vor Monaten einen Fehler in der Grafik-darstellung bemerkt, den ich ziehmlich lange aufgrund von anderen Priotitäten verschoben hab. Es geht dabei um einen JPanel, der von Zeit zu Zeit einen update braucht (im Schnitt nicht mehr als 4-5 Mal pro Anwendung) geneV ist der JPanel und ist eigentum von this (JFrame). Bei jedem update wird u.a. folgendes ausgeführt: geneV.removeAll(); geneV = new GeneViewer(...); this.validateTree(); this.repaint(); Das Problem dabei ist, dass danach verschiedene Flächen zeitweise weiß bleiben nachdem man im Menu etwas aufklappt. Veschwindet dann wieder wenn man etwas im JPanel macht, taucht aber immer wieder auf. Und ich hab auch bemerkt dass es immer schlimmer wird umso öfter der update erfolgt. Wenn jemand also eine einfache Lösung weiß, wär das eine große Hilfe. viele Grüße, Noemi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dku Geschrieben 27. November 2010 Teilen Geschrieben 27. November 2010 Hi Noemi, versuchs mal so: geneV = new GeneViewer(); this.getContentPane.removeAll(); this.getContentPane.add(geneV); this.validate(); Viele Grüße, David Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noe Geschrieben 27. November 2010 Autor Teilen Geschrieben 27. November 2010 Ja, es hat geklappt!! Vielen Dank! Ich musste this.getContentPane().remove(geneV); aufrufen, weil da noch viele andere Sachen im Frame sind. Es reicht also nicht den Panel neu zu erstellen, man muss ihn explizit aus dem Frame entfernen. Ich dachte, wegen dem Call by reference effekt ist es eh dasselbe Objekt. Jedenfalls hat es funktioniert, nochmals vielen Dank! viele Grüße, Noemi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.