java appletで文字列を1文字ずつ出力するテストをしています。

import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.font.*;

public class Sample1 extends Applet{
    public void paint(Graphics g)
    {
        g.drawString("Welcome to java applet", 10, 10);
        g.drawLine(10, 10, 100, 100);
        g.setColor(Color.BLUE);
        g.fillOval(200, 300, 100, 100);
        g.setColor(Color.RED);
        g.fillOval(400, 300, 100, 100);


        g.setFont(new Font("Comic Sans MS", Font.BOLD, 24));
        g.drawString("Hello there", 50, 50);

        String abc = "文字列を1文字ずつ出力するテストです。";

        char data[] = abc.toCharArray();
        int arr_num = data.length;

        for(int i = 0; i<= arr_num-1; i++){
            try{
                Thread.sleep(100);
            }
            catch(InterruptedException e){

            }
            g.drawString(Character.toString(data[i]), 300, 300);
        }
    }

}

上記のコードを実行したら特にエラーがないんですが、変な結果が出てきました。
画像の説明をここに入力

どこが間違いなのかまだ分かりませんが、皆さんのご指摘をお願い致します。