Вы можете использовать JTable и изменять содержимое строк по мере продвижения команд. Или вы можете организовать серию меток и изменить текст в любое время. Чтобы изменить значение, отображаемое для JLabel, вы просто используете JLabel.setText («новое значение»); способ.
Я никогда не делал этого, но я думаю, что вам нужно использовать панель с «нулевым» менеджером макета. Это означает, что вы несете ответственность за абсолютное позиционирование ваших элементов
http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html
Для обновления макета графического интерфейса вам понадобится какой-нибудь SwingWorker или Timer. Убедитесь, что вы действительно вносите изменения в GUI в EventThread, что вы можете сделать, используя SwingUtilities.invokeLater ();