У вас не должно быть цикла while (true) в методе init.
Пользовательское рисование выполняется путем переопределения метода paintComponent () JPanel (или JCompnent), а затем вы добавляете компонент впанель содержимого апплетов.Прочитайте раздел из учебника Swing по Custom Painting для получения дополнительной информации и примеров.
Если вы хотите реагировать на нажатия клавиш, вам следует использовать Привязки клавиш , а неKeyListener.
Вам не нужно создавать метку, а затем использовать getText (), чтобы получить текст для рисования.
Я предлагаю вам уделить время прочтению учебника по основам Swing.