In Paint keine Schleife?

Status
Nicht offen für weitere Antworten.

777

Bekanntes Mitglied
Hallo!
Ich habe soeben hier im Forum die folgende Aussage gefunden:

Hi,

du lässt in Zeile 76 eine Schleife beginnen, die nicht mehr endet. Du brauchst in paint() aber keine Schleife, da intern immer wieder paint() aufgerufen wird. Eine Zählvariable musst du dann als Memervariable in dein Programm einbauen, willst du sie benutzen.

Paint wird also immer wieder aufgerufen? Das wäre wie ich finde sehr praktisch aber es funktioniert bei mir nicht :(

Code:
import java.awt.*;
import java.applet.*;

public class Applecatch extends java.applet.Applet implements Runnable
{
 Thread Apfelschiessen = null;
 
 public void init()
 {
  setLayout(null);
  setSize(500,500);
 }
 
 public void run(){}
 
 public void start()
 {
 Thread Apfelschiessen = new Thread(this);
 Apfelschiessen.start();
 }
 
 public void paint(Graphics g)
 {
  int f1=0,f2=0,f3=0,f4=0;
  

    f1=(int)(Math.random()*266+10);
    f2=(int)(Math.random()*266+10);
    f3=(int)(Math.random()*266+10);
    f4=(int)(Math.random()*266+10);
      
    g.setColor(new Color(f1,f2,f3,f4));
    g.fillOval(22,22,22,22);  
      
      
    //STOP STOP STOP STOP STOP STOP STOP
    try{Apfelschiessen.sleep(100);}catch(InterruptedException e){}  
    //STOP STOP STOP STOP STOP STOP STOP  

    
 }  
}

Eigentlich müsste, wenn die Aussage von oben stimmt das Programm hier so aussehen, dass an der selben Stelle im Programm immer ein Kreis, der immer die Farben ändert auftaucht.
In meinem Compiler geht jedoch nichts :(
David
 

777

Bekanntes Mitglied
Mhh.... also ich möchte eig nur wissen ob paint die Schleife ersetzen kann oder nicht.
Das sleep ist nur so aus spaß an der freude.... :)
 

SebiB90

Top Contributor
also ganz ersetzen nicht, da paint nur aufgerufen wird wenn es neu gezeichnet werden soll
mach eine schleife in die run methode rein die immer repaint() aufruft
 
B

Beni

Gast
paint wird immer wieder aufgerufen ...
- wenn man repaint aus einem anderen Thread aufruft :wink:
- wenn irgendeine Component ein repaint aufruft
 

777

Bekanntes Mitglied
Das mit der Schleife hab ich jetzt mal gemacht und festgestellt, dass das dann nur sehr unregelmäßig läuft.
Deswegen sollte ich aber trotzdem weiter noch schleifen verwenden, oder?
David
 

Illuvatar

Top Contributor
Was für ne Schleife hast du probiert?

Auf jeden Fall: paint() muss so schnell wie möglich wieder returnen. Wenn du ständig neuzeichnen willst, musst du einen extra Thread dafür machen (hast du ja), in dem immer repaint aufgerufen wird, und dann geschlafen (in einer Schleife).
 

777

Bekanntes Mitglied
Meine Schleife war while(true)...

Aber was meinst du genau mit returnen?
Also soll der größte Teil des Programmes sich lieber in run abspielen statt in paint?
Mein Problem ist halt, dass ich gerne die graphics g verwenden will und das brauch ich für fast alle Befehle...
 

Leroy42

Top Contributor
Du könntest dir den Graphics Parameter in deiner Applet-Instanz als
Instanzvariable merken sobald sie angelegt wurde; also am besten
beim 1. Aufruf von paint. Dann kannst du anderswo, außerhalb
der paint-Methode, direkt reinzeichnen.

Allerdings sind diese Zeichnungen dann nicht gespeichert in der Art,
daß bei einem vom System generierten paint-Aufruf (Wiedersichtbarwerden
von Teilen des Applets, Größenveränderung des Applets) diese Zeichnungen
nicht neu gemalt werden.

Besser ist es, das was zu zeichnen ist von außerhalb in deiner Applet-Instanz
zu merken und nur das paint() durch Aufruf von repaint() neu anzustoßen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
N aus Container components paint Java Basics - Anfänger-Themen 2
J paint() vs repaint() Java Basics - Anfänger-Themen 3
A Problem mit paint() Java Basics - Anfänger-Themen 2
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
T paint() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
F Eine Frage über paint() Funktion Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
A paint() methode von externer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
S Datentypen Paint Programm Java Basics - Anfänger-Themen 7
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
L Paint zeichnet nicht gespeicherte Objekte Java Basics - Anfänger-Themen 3
D OOP paint() Methode aus Unterklasse anstoßen Java Basics - Anfänger-Themen 3
A paint() - warum nicht aufrufen? Java Basics - Anfänger-Themen 3
K Scrollbar - Bild - paint-Methode - zoom Java Basics - Anfänger-Themen 10
S super.paint() Java Basics - Anfänger-Themen 4
S Bild aus paint() Methode auslagern Java Basics - Anfänger-Themen 14
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
TheKing Paint-Methode aufrufen Java Basics - Anfänger-Themen 14
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
M Paint und JColorChooser Java Basics - Anfänger-Themen 12
G hintergrund wird nicht gezeichnet bei paint() Java Basics - Anfänger-Themen 3
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4
S Frage zur paint-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
G Nichtstatische Objekte in der paint()-Methode Java Basics - Anfänger-Themen 16
K Wieso wird "paint" nicht ausgeführt ? Java Basics - Anfänger-Themen 2
K JPanel, JFrame, paint() und wo ist mein Viereck ? Java Basics - Anfänger-Themen 19
F Frage zu JPanel und Paint Java Basics - Anfänger-Themen 5
P paint Methode Java Basics - Anfänger-Themen 3
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
F Applets und die paint-Methode Java Basics - Anfänger-Themen 3
G frage zu paint Java Basics - Anfänger-Themen 3
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
G Hilfe in paint() ; zeichnen Java Basics - Anfänger-Themen 15
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
T .paint() aufrufen Java Basics - Anfänger-Themen 23
S Paint Teilweise Zeitverzögert Java Basics - Anfänger-Themen 6
R paint problem Java Basics - Anfänger-Themen 6
G mit paint() ins JPanel malen. Java Basics - Anfänger-Themen 6
M Auf Panels oder Labels malen? (paint) Java Basics - Anfänger-Themen 9
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
V paint()-methode manuell aufrufen? kein autostart erwuenscht Java Basics - Anfänger-Themen 3
B Problem mit Einfügen von Choice (in ein Applet) aus Paint Java Basics - Anfänger-Themen 13
T paint() wieder aus einder anderen methode aufrufen funzt nid Java Basics - Anfänger-Themen 2
G Paint auf Panel Java Basics - Anfänger-Themen 4
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
S paint() direkt auf JFrame seit 1.5 nicht mehr möglich? Java Basics - Anfänger-Themen 5
A Variablenübergabe in die Paint-Funktion Java Basics - Anfänger-Themen 4
D Zeichnen mit Paint zerstört ganzes Fenster Java Basics - Anfänger-Themen 5
G Klassen und paint methode Java Basics - Anfänger-Themen 2
T paint() ohne konstruktor aufzurufen? Java Basics - Anfänger-Themen 5
P paint() Java Basics - Anfänger-Themen 6
U paint Java Basics - Anfänger-Themen 8
X Malen außerhalb der paint() Methode Java Basics - Anfänger-Themen 4
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
G Zeichnen ausserhalb der paint Methode Java Basics - Anfänger-Themen 4
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
Dilandau paint(Graphics g) { unbekannt in try{} / catch{} }? Java Basics - Anfänger-Themen 5
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5
krgewb Keine richtige Doku Java Basics - Anfänger-Themen 5
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
Nooobi Regex und .matches() geben keine Ausnahme Java Basics - Anfänger-Themen 10
berserkerdq2 Warum ist das keine Referenzkopie mehr? Java Basics - Anfänger-Themen 26
O Java 17 keine Pflicht um Exceptiones zu behandeln? Java Basics - Anfänger-Themen 2
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben