Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren

Berg

Mitglied
Liebe Java Gemeinde,

ich mache meine ersten Gehversuche in Java und kämpfe mich durch den Java Video Kurs...halb bin ich schon durch...
Das aktuelle Beispiel im Video ist mir zu komplex, ich wollte mir etwas einfacheres schreiben...und zum Teil funktioniert es super.
...aber ich bin eben Anfänger und bräuchte bitte euren Rat...

Mein Programm zeichnet Rechtecke mit Zufallsfarbe an Zufallsposition. Klappt super.
Das Fenster erscheint und alle Rechtecke erscheinen gleichzeitig.
Ich würde aber gerne sehen, wie jedes neue Rechteck einzeln dazu kommt (z.B. etwas ausgebremst mit Thread.sleep((long) ( Math.random() *500)); )

Ich vermute der Grund ist im Dunstkreis des EDT (Event Dispatch Thread) zu suchen und ich müsste "irgendwie" meinen Code, der die Rechtecke erstellt, in einen eigenen Thread packen,
dass der EDT das Zeichnen übernimmt und das Fenster nach jeder Erstellung eines Rechtecks aktualisiert wird. (Bitte verzeiht, wenn ich etwas ungenau formuliere)

Liege ich mit meiner Vermutung richtig?

Habt ihr `nen Tipp wie und wo ich da Hand anlegen muss?
...wäre super...

Vielen Dank & viele Grüße
Berg

Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class RechteckDemo extends JPanel
{
	@Override
	protected void paintComponent(Graphics g){	
		super.paintComponent(g);
		
		int pos_X1 = 0;
		int pos_Y1 = 0;
		int breite = 30;
		int hoehe = 30;
		int farbwertRot = 255;
		int farbwertGelb = 0;
		int farbwertBlau = 0;
		int transparenzWert = 255; 
		
		for (int i = 0; i <100; i++)
		{	
			pos_X1 = (int)(Math.random() * 400 + 1);
			pos_Y1 = (int)(Math.random() * 400 + 1);
			farbwertRot = (int)(Math.random() * 255 + 1);
			farbwertGelb = (int)(Math.random() * 255 + 1);
			farbwertBlau = (int)(Math.random() * 255 + 1);
			g.setColor(new Color(farbwertRot,farbwertGelb,farbwertBlau,
					transparenzWert));
			g.fillRect(pos_X1,pos_Y1,breite,hoehe);
		}
	}
	public static void main(String[] args){
		SwingUtilities.invokeLater(new Runnable() {  // (EDT)
			@Override
			public void run() {
				JFrame f = new JFrame();
				f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				
				RechteckDemo g = new RechteckDemo();
				g.setPreferredSize(new Dimension(300,300));

				f.add(g);		
				f.pack();
				f.setLocation(850,250);
				f.setLocation(0,0);
				f.setVisible(true);
			}
		});
	}
}
 

franky27

Bekanntes Mitglied
Du müsstest die Zustände der Rechtecke irgendwo speichern. Ich denke ich würde mir eine Rechteckklasse schreiben mit den ganzen Werten die du brauchst (xpos, ypos, farbwert1 etc), nebst get Methoden. Dann deklarierst du dir ein Array von Rechtecken (in deinem Fall mit 100 Objekten). In einer fill Methode kannst du dann über das array iterieren und die Rechteck Objekte mit den Random Werten erzeugen.
Code:
RandomWerte....
recs[i] = new Rechteck(pos_X1, pos_Y1, farbwertRot, farbwertGelb, farbwertBlau, transparenzWert);
In einer zweiten draw Methode holst du dir das Graphics Object zB
Code:
Graphics g2 = this.getGraphics();
Dann iterierst du wieder über das array und holst dir deine Werte über die getMethoden aus den Rechtecken und zeichnest die:
Code:
g2.setColor(new Color(recs[i].getFarbWertRot(), recs[i].getFarbWertGelb(), recs[i].getFarbWertBlau(), recs[i].getTransparenzWert()));
g2.fillRect(recs[i].getPosx(), recs[i].getPosy(), breite, hoehe);
Dort kannst du dann auch dein Thread.sleep einbauen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
Z Fehler Zeiterfassungsprogramm Anzeige Java Basics - Anfänger-Themen 3
W Wiederkehrende Konsolen-Anzeige mit do-While?! Java Basics - Anfänger-Themen 33
Elyt Würfel mit bildlicher Anzeige Java Basics - Anfänger-Themen 2
S JavaFX-Arduino Kommunikation mit LCD-Anzeige Java Basics - Anfänger-Themen 0
A Anzeige Fehler auf anderem Gerät Java Basics - Anfänger-Themen 1
T Anzeige, wie lange es noch dauert bis ein File gesendet ist. Java Basics - Anfänger-Themen 2
Hijo2006 Anzeige eines Bildes in JAR Java Basics - Anfänger-Themen 12
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
C Erste Schritte Berechnen einer Form mit Live anzeige.... Java Basics - Anfänger-Themen 4
H pdf-Anzeige Java Basics - Anfänger-Themen 11
J Anzeige erneuern, wie geht das? Java Basics - Anfänger-Themen 6
S ListModel - Anzeige im JList Java Basics - Anfänger-Themen 4
FetterOtter JTable: ToolTipText-Anzeige abhängig von Zellengröße und Textlänge Java Basics - Anfänger-Themen 2
S Probleme bei der Gui Anzeige Java Basics - Anfänger-Themen 11
S JPanel anzeige Java Basics - Anfänger-Themen 2
K Erste Schritte prob anzeige Java Basics - Anfänger-Themen 4
P Labyrinth, Backtracking, verzögerte Anzeige Java Basics - Anfänger-Themen 15
G JTextField() Anzeige - if-Anweisungen Java Basics - Anfänger-Themen 2
1 Combobox anzeige Java Basics - Anfänger-Themen 7
F grafische Anzeige von Werten Java Basics - Anfänger-Themen 2
D DB Anzeige der Treffer Java Basics - Anfänger-Themen 12
Weiti Anzeige von komponenten erst bei Mouse-Over Java Basics - Anfänger-Themen 3
S Zeitpunkt für die Anzeige von setBackground Java Basics - Anfänger-Themen 2
H Klassen zur Anzeige ines Bildes und zum Zeichnen innerhalb diese Bildes Java Basics - Anfänger-Themen 2
B double Rundungsfehler od. Anzeige-Fehler? Java Basics - Anfänger-Themen 4
D GUI Anzeige fehlt Java Basics - Anfänger-Themen 4
C Probleme mit Exportieren einer jar-datei /keine Anzeige mehr Java Basics - Anfänger-Themen 5
hdi Konsole basteln -> wie die Anzeige des Inhalts realiseren Java Basics - Anfänger-Themen 3
B Arbeitsspeicher-Verbrauch bei Anzeige eines 10MP-Bildes Java Basics - Anfänger-Themen 11
G Problem mit Anzeige der Tabelle Java Basics - Anfänger-Themen 3
G Ebenen Verwaltung und Anzeige Problem Java Basics - Anfänger-Themen 6
G JFileChooser - Anzeige beschleunigen Java Basics - Anfänger-Themen 2
O Anzeige von Zeichen in einer JList Java Basics - Anfänger-Themen 5
G 9-Segment-Anzeige Java Basics - Anfänger-Themen 7
B Java - Anzeige beim Refresh weiss Java Basics - Anfänger-Themen 11
T Keine Anzeige in JList Java Basics - Anfänger-Themen 18
B unvollständige Anzeige von JComboBox Werten Java Basics - Anfänger-Themen 5
C Taschenrechner -> Anzeige/Variablen Problem Java Basics - Anfänger-Themen 9
S JTextArea Problem mit Anzeige Java Basics - Anfänger-Themen 2
A Datei einlesen und Inhalt in verschidenen JList anzeige? Java Basics - Anfänger-Themen 3
G Array anzeige nur letzter wert Java Basics - Anfänger-Themen 2
M Keine Anzeige, wenn ich die Classe umbenenne Java Basics - Anfänger-Themen 13
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
G Problem mit JPanel, bekomme keine Anzeige! Java Basics - Anfänger-Themen 4
I Classpath Anzeige Java Basics - Anfänger-Themen 4
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
J Erste Schritte drawLine Methode der Graphics Klasse Java Basics - Anfänger-Themen 2
J GUI / Graphics Java Basics - Anfänger-Themen 2
H Graphics / repaint Java Basics - Anfänger-Themen 8
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Cast java.awt.Graphics Java Basics - Anfänger-Themen 7
Azazel (Anfängerhilfe) awt.Graphics Schwierigkeiten Java Basics - Anfänger-Themen 6
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
S Farbige Lebensleiste mit Graphics? Java Basics - Anfänger-Themen 10
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S G Graphics Java Basics - Anfänger-Themen 1
thet1983 g.Graphics löschen? Java Basics - Anfänger-Themen 1
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
A EAN13 Font auf graphics g erzeugt Monospaces Java Basics - Anfänger-Themen 14
N Graphics to png Java Basics - Anfänger-Themen 10
N Methode draw(Graphics g) aufrufen Java Basics - Anfänger-Themen 6
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
J Jtable änderung soll graphics aktualisieren Java Basics - Anfänger-Themen 4
J JAVA Graphics Java Basics - Anfänger-Themen 5
A Graphics Objekt verhält sich merkwürdig Java Basics - Anfänger-Themen 2
G DRUCKEN von z.B. eines JFrame über print(Graphics g) Java Basics - Anfänger-Themen 9
Maxim6394 Probleme mit Graphics Java Basics - Anfänger-Themen 7
W von Graphics in BufferedImage Java Basics - Anfänger-Themen 10
M OOP Graphics immer selbstbezihend Java Basics - Anfänger-Themen 12
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
T Transparente Bilder mit Graphics zeichnen Java Basics - Anfänger-Themen 17
H Probleme mit Graphics G Java Basics - Anfänger-Themen 2
M Schiebepuzzle: MouseListener und Graphics? Java Basics - Anfänger-Themen 6
J Graphics g Java Basics - Anfänger-Themen 4
H Probleme mit Graphics Java Basics - Anfänger-Themen 5
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
M Graphics zeichnen Java Basics - Anfänger-Themen 2
F Graphics PDFBox Java Basics - Anfänger-Themen 9
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5
Luk10 Buch für Swing/Awt/Graphics Java Basics - Anfänger-Themen 4
M Java Graphics etc. Java Basics - Anfänger-Themen 2
M Concurrency und Graphics Java Basics - Anfänger-Themen 9
F Was ist Graphics g wirklich? Java Basics - Anfänger-Themen 5
J Klasse Graphics Nullpointerexception Java Basics - Anfänger-Themen 8
P Frage zu Graphics Java Basics - Anfänger-Themen 2
O graphics methode zeigt mein bild nicht an Java Basics - Anfänger-Themen 7
F Zweite Graphics-Methode wird nicht ausgeführt Java Basics - Anfänger-Themen 4
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G paintComponent(Graphics g) Java Basics - Anfänger-Themen 2
eQui Oberfläche mit Graphics zeichnen Java Basics - Anfänger-Themen 11
S Dicke bei Graphics Ovject einstellen Java Basics - Anfänger-Themen 2
V KSKB zum Verständnis von Graphics und paintComponent Java Basics - Anfänger-Themen 6
G mit Graphics erzeugte Strings verschwinden sofort wieder Java Basics - Anfänger-Themen 7
T Graphics von java.awt.Frame soll sich inhalt merken Java Basics - Anfänger-Themen 3
G Graphics-Object skalieren Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben