"Rita" om GUI medans det körs? (I Java)

Permalänk
Medlem

"Rita" om GUI medans det körs? (I Java)

Jag har en uppgift som går ut på att jag ska göra ett spel.

Att rita upp spelplanen med en massa objekt går utan större problem. Jag har en for loop som kör ut antalet objekt i en JPanel beroende på hur många spelaren väljer att det ska vara i en metod som jag kallar för nytt().

Men här är problemet nu, jag har en knapp där man ska kunna starta ett nytt spel och försöker jag anropa nytt() då så får jag dubbelt så många objekt i fönstret. Jag har testat att köra minJPanel.removeAll() innan jag anropar nytt() igen men då går det inte att klicka på något objekt alls utan den typ fryser helt.
Någon som vet hur jag gör för att "rita" upp hela JPanelen/hela GUI:t igen medans det körs?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ChRiiLLe
Jag har en uppgift som går ut på att jag ska göra ett spel.

Att rita upp spelplanen med en massa objekt går utan större problem. Jag har en for loop som kör ut antalet objekt i en JPanel beroende på hur många spelaren väljer att det ska vara i en metod som jag kallar för nytt().

Men här är problemet nu, jag har en knapp där man ska kunna starta ett nytt spel och försöker jag anropa nytt() då så får jag dubbelt så många objekt i fönstret. Jag har testat att köra minJPanel.removeAll() innan jag anropar nytt() igen men då går det inte att klicka på något objekt alls utan den typ fryser helt.
Någon som vet hur jag gör för att "rita" upp hela JPanelen/hela GUI:t igen medans det körs?

Mina Java-kunskaper börjar förtvina... Men måste du inte göra en minJPanel.removeAll();
minJPanel.revalidate();
minJPanel.repaint();

för att ta bort objekten?

...Eller så kanske det bara var revalidate()...

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Kan du visa kod. Hur fungerar text nytt()? Kör det minJPanel.add(x)?

Då borde du rimligtvis behöva köra text removeAll()