update/paint

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

wollte mal wissen was man mit der update()- Methode macht wenn man was auf ein Panel zeichnen will,
normalerweise überschreibt man ja die paint()- Methode und das wars, was kann ich mit der update- Methode alles machen?

schönen Tag noch,
 

MQue

Top Contributor
Netter Text aber ich konnte die "Message" nicht herausfiltern,
noch dazu gibt es da auch noch paintCompont neben paint,

kann das vielleicht jemand in ein paar worten erklären?
 
S

SlaterB

Gast
paint() vs. update()
Why do we make a distinction between "system-triggered" and. "app-triggered" painting? Because AWT treats each of these cases slightly differently for heavyweight components (the lightweight case will be discussed later), which is unfortunately a source of great confusion.

For heavyweight components, these two types of painting happen in the two distinct ways, depending on whether a painting operation is system-triggered or app-triggered.

System-triggered painting
This is how a system-triggered painting operation takes place:

The AWT determines that either part or all of a component needs to be painted.


The AWT causes the event dispatching thread to invoke paint() on the component.
App-triggered painting
An app-triggered painting operation takes place as follows:

The program determines that either part or all of a component needs to be repainted in response to some internal state change.

The program invokes repaint() on the component, which registers an asynchronous request to the AWT that this component needs to be repainted.

The AWT causes the event dispatching thread to invoke update() on the component.
NOTE: If multiple calls to repaint() occur on a component before the initial repaint request is processed, the multiple requests may be collapsed into a single call to update(). The algorithm for determining when multiple requests should be collapsed is implementation-dependent. If multiple requests are collapsed, the resulting update rectangle will be equal to the union of the rectangles contained in the collapsed requests.


If the component did not override update(), the default implementation of update() clears the component's background (if it's not a lightweight component) and simply calls paint().
Since by default, the final result is the same (paint() is called), many people don't understand the purpose of having a separate update() method at all. While it's true that the default implementation of update() turns around and calls paint(), this update "hook" enables a program to handle the app-triggered painting case differently, if desired. A program must assume that a call to paint() implies that the area defined by the graphic's clip rectangle is "damaged" and must be completely repainted, however a call to update() does not imply this, which enables a program to do incremental painting.

Incremental painting is useful if a program wishes to layer additional rendering on top of the existing bits of that component. The UpdateDemo example demonstrates a program which benefits from using update() to do incremental painting.

In truth, the majority of GUI components do not need to do incremental drawing, so most programs can ignore the update() method and simply override paint() to render the component in it's current state. This means that both system-triggered and app-triggered rendering will essentially be equivelent for most component implementations.
das es das eh nur für AWT gibt gilt noch mehr Wildcards Aussgabe ;)
 

MQue

Top Contributor
ich habe in einem Buch gesehen, dass die update methode überschrieben wurde und in der update- methode dann

paint(g)

aufgerufen wurde, keine ahnung ob das eh die Standardimplementierung auch ist,

Was ist eigentlich der unterschied zwischen paint() und paintComponents()?

Vielen Dank,
 

Quaxli

Top Contributor
Muß ja nicht korrekt sein, bloß weil es gedruckt ist ;)

Bei AWT überschreibt man üblicherweise die paint-Methode, bei Swing die paintComponent-Methode. Die Unterschied der beiden Aufrufe stehen in der API ;)
 

Janus

Bekanntes Mitglied
update ruft seinerseits auch wieder paint auf, erledigt vorher aber u.u. noch ein paar andere notwendige maßnahmen. wenn man update überschreibt, sollte man sich dessen bewusst sein.

paint macht bei swing components auch mehr, als lediglich die einzelne component zu zeichnen. daher sollte man, wenn man lediglich im aktuellen container etwas darstellen möchte, paintComponent überschreiben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java 8 Security Update Allgemeine Java-Themen 3
krgewb Darstellung bei Java-Update Allgemeine Java-Themen 8
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
B Umgebungsvariable Anpassen der Umgebungsvariablen nach Java-Update ? Allgemeine Java-Themen 14
S Java-Webstart und Update-Checks Allgemeine Java-Themen 0
A Update Software programmieren Allgemeine Java-Themen 1
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
G JavaFX Problem nach Update auf Java 8 Allgemeine Java-Themen 0
E Java 7 update 51 Allgemeine Java-Themen 9
H SHA256 update-Funktion Allgemeine Java-Themen 3
F.S.WhiTeY JDK installieren Linux: Nach Update link auf Java zerschossen Allgemeine Java-Themen 4
eskimo328 Swing Client Anwendung für MAC OS (Update Routine) Allgemeine Java-Themen 6
L Launche update Allgemeine Java-Themen 19
D Update von TimerTask Allgemeine Java-Themen 13
X Update einer Jar während der Laufzeit Allgemeine Java-Themen 8
J Eigenes Produkt Upgrade / Update-fähig halten? Allgemeine Java-Themen 16
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
D Updaten von Klassen durch jar.exe zerstört diese. Update durch WinRAR gelingt! Allgemeine Java-Themen 2
T Update eines Programms - Beenden eines anderen Prozesses überwachen Allgemeine Java-Themen 8
D Java Update automatisieren Allgemeine Java-Themen 4
H SQL Update "Rückgabe der DB als String?" Allgemeine Java-Themen 7
X HTTP Problem mit static/non static JTextArea Update Allgemeine Java-Themen 17
S eigene Update Funktion Allgemeine Java-Themen 5
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
M jdesktop binding: jTable update nach Änderung... Allgemeine Java-Themen 3
B Regex-Fehler nach lib-Update Allgemeine Java-Themen 2
H Probleme! Mac Os und Java Update Allgemeine Java-Themen 3
R JAR-Update in laufender Applikation Allgemeine Java-Themen 9
A Hilfe mit 2-dimensionalem array ***UPDATE*** Allgemeine Java-Themen 27
Kr0e JCE doFinal/update Allgemeine Java-Themen 2
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
O App Update Allgemeine Java-Themen 3
T NullPointerException nach Java Update Allgemeine Java-Themen 4
V Update des JAR-Archivs Allgemeine Java-Themen 5
M Update auf netbeans 6Beta 1 Allgemeine Java-Themen 2
U Programm soll sich nach update neustarten Allgemeine Java-Themen 30
M Tool zum autom. Client-Update Allgemeine Java-Themen 2
C Java SE Runtime 6 Update 1 - IE 7 und FF 2.0 - Allgemeine Java-Themen 6
M Frage zu update Methode von Observer! Allgemeine Java-Themen 40
K Regex Versucher 2 *Update - sinnvoll und schön* :) Allgemeine Java-Themen 6
T update() wird bei Programmstart und resize nicht gemacht Allgemeine Java-Themen 4
R Browser-Problem nach Java-Update Allgemeine Java-Themen 9
B statusbar update -> mit thread oder listener? Allgemeine Java-Themen 7
D wie update-erinnerung der jre deaktivieren? Allgemeine Java-Themen 6
D repaint oder update Methode? Allgemeine Java-Themen 6
S Paint Component Problem Allgemeine Java-Themen 4
S Array Fehler in Paint-Methode Allgemeine Java-Themen 2
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
H GUI: RectangleDrawer - zu viele Elemente im Vector für die paint-Methode Allgemeine Java-Themen 6
Developer_X Paint Editor Programm Allgemeine Java-Themen 3
J Java und Paint? Allgemeine Java-Themen 2
H Sinusähnliche Kurve mit Paint zeichnen! Allgemeine Java-Themen 3
M Frage zur Paint()-Methode Allgemeine Java-Themen 3
conan2 Performance von paint() Allgemeine Java-Themen 2
R Übergabe und Autostart von Paint Allgemeine Java-Themen 4
B Java "paint"? Allgemeine Java-Themen 3
J Array an paint übergeben Allgemeine Java-Themen 6
T Rechtecke usw mit Paint auf Panel zeichnen Allgemeine Java-Themen 5
J Fenster mit paint Methode selbst zeichnen Allgemeine Java-Themen 3

Ähnliche Java Themen


Oben