JTextArea было создано для отображения только нескольких строк текста , но исправьте меня, если я ошибаюсь.Для отображения изображений вы можете использовать элемент управления JEditorPane , который позволит вам использовать html с простыми тегами <img /
>, которые будут указывать на изображение.
Что касается распознавания смайликов, вы можетесоздайте файл / список общих шаблонов, которые вы хотели бы поддерживать, а затем просто проверьте, содержит ли текст шаблон с .contains или даже регулярными выражениями.
Update
И сJEditorPane вы также будете делать дополнительные вещи, такие как, например, сканирование писем или ссылок и автоматически конвертировать их, чтобы пользователь мог щелкнуть по ним, что всегда является хорошей функцией.