Ааа! Это нормально. Представьте, что ваша панель - доска . Каждый раз, когда вы хотите перекрасить то, что написали, вам придется сначала стереть доску .
В Java, как и в графике в целом, все происходит аналогичным образом. В вашем методе рисования, сделайте это:
Graphics.clearRect(0,0, getWidth(),getHeight());
//CLEAR the entire component first.
Graphics.drawString(...); //now that the panel is blank, draw the string.
Когда вы сможете лучше разобраться с темой, сделайте super.paint(Graphics)
вместо clearRect()
.