mehrere repaint() Aufrufe - NUR eine Ausführung. Warum?

Status
Nicht offen für weitere Antworten.

ernst

Top Contributor
>paint-Aufrufe können doch zusammengefasst werden,
>daher ist bei 10x repaint nicht ersichtlich, ob i nun 10x oder nur 1x erhöht wird,
>
in meiner paintComponent() Funktion wird i zuerst mal auf 0 gesetzt.
Das heißt der Endwert von i ist immer gleichgroß, egal ob man paintComponent() 10 mal oder nur 1 mal aufgerufen hat.

mfg
Ernst
 

ernst

Top Contributor
>>Nein nicht jedes, sondern jedes, das der Programmierer zu jedem von ihm gewünschten Zeitpunkt will.
>Was soll der Satz den bedeuten?
>
Es soll die Vorteile von active und passive renderig vereinigen:
Wenn der Programmierer in einer Schleife mehrfach zeichnen will, dann wird das nur dann auch jweils _sofort_ gemacht (also nicht nur ein Bitte wie beim passive renderig), wenn das Fenster sichtbar ist.
Wenn das Fenster nicht sichtbar ist (z.B. verdeckt) wird nicht gezeichnet.
Wenn das Fenster unsichtbar ist, wird die CPU also nicht belastet.

mfg
Ernst
 

Wildcard

Top Contributor
ernst hat gesagt.:
Es soll die Vorteile von active und passive renderig vereinigen:
:lol:
Wie konnte ich nur so ignorant sein nicht von Anfang an zu erkennen das du das Zeichensystem revolutionieren wirst und die Fehler der Stümper bei SUN korrigieren wirst.

Du glaubst offensichtlich sowieso nur was du auch glauben möchtest, also viel Erfolg bei deinen Vorhaben und mir bleibt immerhin der Trost keines deiner Programme verwenden zu müssen.

Weil's gerade so schön lustig ist beantworte mir doch noch ein paar Fragen bevor du an's Coden gehst:

1. was sind denn die Nachteile von passive Rendering die du meinst korrigieren zu müssen?
2. wofür meinst du das zu brauchen?
3. wie stellst du dir die Implementierung vor?
4. wie willst du erkennen ob ein Fenster verdeckt ist?
 
S

SlaterB

Gast
ernst hat gesagt.:
>paint-Aufrufe können doch zusammengefasst werden,
>daher ist bei 10x repaint nicht ersichtlich, ob i nun 10x oder nur 1x erhöht wird,
>
in meiner paintComponent() Funktion wird i zuerst mal auf 0 gesetzt.
Das heißt der Endwert von i ist immer gleichgroß, egal ob man paintComponent() 10 mal oder nur 1 mal aufgerufen hat.
ok. ich hatte noch deine alten Versionen im Kopft,

aber angesichst meiner wiederholten Aussage
'INNERHALB der Operation gerne das i um Schleifen zu zählen oder so, '
macht da eine Frage von dir genausowenig Sinn, nur auf eine andere Weise ;)
 

ernst

Top Contributor
1)
>Wie konnte ich nur so ignorant sein nicht von Anfang an zu erkennen das du das
>Zeichensystem revolutionieren wirst und die Fehler der Stümper bei SUN korrigieren wirst.
>
ich bin nicht größenwahnsinig. Es war eine Idee. Die kann auch schlecht sein.
>
>1. was sind denn die Nachteile von passive Rendering die du meinst korrigieren zu müssen?
Ich zitiere dich:
"wenn du (aus welchen Gründen auch immer) mehr Kontrolle brauchst musst du Active Rendering verwenden "
>2. wofür meinst du das zu brauchen?
siehe 1)
>3. wie stellst du dir die Implementierung vor?
Dazu fehlen mir die Kenntnisse
>
>4. wie willst du erkennen ob ein Fenster verdeckt ist?
Genauso wie beim passive rendering
>
2)
Du hast mal geschrieben:
"-in paint keine Zustände ändern
-keine Logik in paint
-wenn du (aus welchen Gründen auch immer) mehr Kontrolle brauchst musst du Active Rendering verwenden
-ansonsten: lass AWT die Sache regeln und häng dich nicht an den Implementierungsdetails auf"

Gibt es sonst noch welche Regeln (bzw. gibt es eine Liste aller Regeln), bzw. gibt es eine Stelle in der Doku, wo diese ganze Regeln stehen, oder sind die auf mehrere Stellen (wo?) verteilt?
Die braucht man dann nur anwenden und die Sache hat sich erledigt.


mfg
Ernst
 

Wildcard

Top Contributor
>1. was sind denn die Nachteile von passive Rendering die du meinst korrigieren zu müssen?
Ich zitiere dich:
"wenn du (aus welchen Gründen auch immer) mehr Kontrolle brauchst musst du Active Rendering verwenden "
Das ist nicht per Se ein Nachteil. Im gegenteil, es Erleichtert die Arbeit. Welchen Grund hast du also das Verhalten genauer kontrollieren zu wollen?

>4. wie willst du erkennen ob ein Fenster verdeckt ist?
Genauso wie beim passive rendering
Irrtum. AWT erhält die Notification vom Betriebssystem wenn neu gezeichnet werden muss. Diese Events bekommst du aber nicht.
 

ernst

Top Contributor
Zu den Regeln/Eigenschaften von paint() verweise ich mal auf den Orginalartikel von Sun:
Painting in AWT and Swing

1)
Ich habe keine Regel entdeckt, die folgendes verbietet:
-in paint keine Zustände ändern
-keine Logik in paint

Es gibt sogar ein Beispiel, wo in paint einiges gerechnet wird:
Code:
public void paint(Graphics g) {
        // Dynamically calculate size information
        Dimension size = getSize();
        // diameter
        int d = Math.min(size.width, size.height); 
        int x = (size.width - d)/2;
        int y = (size.height - d)/2;

        // draw circle (color already set to foreground)
        g.fillOval(x, y, d, d);
        g.setColor(Color.black);
        g.drawOval(x, y, d, d);
    }

2) Ich habe in dem Artikel folgendes nicht ganz kapiert:
Bei Swing steht:
...
"This means that for Swing components, update() is never invoked"
...

Bei Lightweights & System-triggered Painting steht:
"The system-triggered paint request originates from the lightweight framework (i.e., the lightweight is resized), which results in a call to update(), which by default is forwarded to paint() ."

Swing besteht doch aus lightweight Komponenten, aber bei Swing gibt es kein update.
Das ist für mich ein Widerspruch.

mfg
Ernst
 

Wildcard

Top Contributor
Ich habe keine Regel entdeckt, die folgendes verbietet:
-in paint keine Zustände ändern
-keine Logik in paint
Es ist ja auch nicht verboten, nur die meisten möchten gerne Programme schreiben die am Schluß auch funktionieren.

Es gibt sogar ein Beispiel, wo in paint einiges gerechnet wird:
Das bißchen rumrechnen ist natürlich ok, darum geht es gar nicht. Der Code ist nur dazu da die Daten korrekt visuell zu repräsentieren. Du wirst aber feststellen das kein Member verändert wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M effizient mehrere BufferedImage in eines schreiben AWT, Swing, JavaFX & SWT 6
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
M Mehrere JPanel nacheinander?! AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
GianaSisters Swing jTable - Feldtext soll mehrere Zeilen haben AWT, Swing, JavaFX & SWT 3
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben