paintComponent JPanel obraz się maże

paintComponent JPanel obraz się maże
M2
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 12 lat
  • Postów:123
0

Piszę Arkanoida w JAVIE. Obecnie mam już zrobioną planszę, deseczkę i piłkę. Zaimplementowałem ruch deseczki wraz z ruchem myszki, w osi X. Tylko, że jak ruszam kursorem, to stary obraz deski nie znika. Powstaje długa, linia, zamiast krótkiej deski. Nie wiem czemu. Podam część kodu:

Kopiuj
public void paintComponent(Graphics g)
		{
			super.paintComponents(g);
			g.setColor(Color.black);
			
			wyswietlCegielki(g);
			wyswietlDeske(g);
			wyswietlKulke(g);
		}
Kopiuj
public void wyswietlDeske(Graphics g)
		{
			des.wyswietlDeske(g);
		}
Kopiuj
public class Deska {
	private int x, y;
	private int w, h;

(...)

	public void wyswietlDeske(Graphics g)
	{
		g.fillRect(x, y, w, h);
	}
}
Kopiuj
		@Override
		public void mouseMoved(MouseEvent me) {
			des.setX(me.getX() - des.getW() / 2);
		}

p.s.

Dodałem w metodzie paintComponent(Graphics g) na początek:
g.fillRect(0, 0, Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height);

Ale w poprzednim programie, gdzie animowałem ruch kulki, nie dodałem tego i kulka wyświetlała się prawidłowo. Czemu tutaj jest inaczej?

edytowany 2x, ostatnio: michal_2
M2
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 12 lat
  • Postów:123
0

Już wiem! Literówka: napisałem paintComponents zamiast paintComponent ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.