Я не уверен в предложении использовать JList для предыдущих сообщений ... это не похоже на поведение, которое я бы искал в клиенте чата.
Я бы порекомендовал взглянуть на класс JTextPane, который предназначен для данных типа «документ», таких как текущий разговор в чате. Очень легко добавлять данные на лету к документу, и вы даже можете применить стилизацию к частям документа (например, вы хотите, чтобы имена пользователей различных участников чата были выделены жирным шрифтом и разными цветами).
Вот несколько ссылок на примеры:
Как использовать панели редактора и текстовые панели
Дополнительные примеры для TextPane
Другая вещь, о которой вы, вероятно, захотите подумать, это многопоточность, например, вы, вероятно, захотите иметь фоновый поток, опрашивающий новые сообщения, чтобы пользовательский интерфейс не зависал при поиске новых сообщений для отображения.