JTextPane или JEditorPane для чата

Мне нужно сделать чат вроде этого:

введите описание изображения здесь

Отображаемое сообщение также должно содержать смайлы и все, что нужно скопировать / вставить, как в Skype.

Я не знаю, что выбрать между JEditor и JTextpane. Я попробовал оба и столкнулся со следующими трудностями:

JEditorPane:

  • Копировать / вставить, можно отображать смайлы и копировать и вставлять их.
  • Я не могу установить leftIndent сообщения, когда устанавливаю содержимое в text / html

JTextPane:

  • Я могу установить leftIndent
  • Не удается скопировать / вставить значки смайлов, когда я установил текстовое содержимое в формате html.
  • Не могу отобразить смайлик в сообщении

Может я ошибаюсь и мало что знаю, поэтому хотелось бы услышать ваше мнение :)

Большое Вам спасибо.

С Уважением


person Vincent Roye    schedule 05.12.2011    source источник


Ответы (2)


Используйте JTextPane. Установите тип содержимого text / html. И поместите соответствующий html через setText ();

Речь идет о локальных изображениях http://java-sl.com/tip_local_images.html

А это про улыбки http://java-sl.com/tip_autoreplace_smiles.html

person StanislavL    schedule 05.12.2011
comment
Привет, В двух примерах используются JEditorPanes, может быть, вы имели в виду, что я должен использовать JEditorPanes вместо JTextPane? - person Vincent Roye; 06.12.2011
comment
JTextPane расширяет JEditorPane, поэтому все, что описано для JEditorPane, можно применить к JTextPane. - person StanislavL; 06.12.2011

(Дополнительно к ответу StanislavL.) По крайней мере, в Java 1.7 leftindent работает для JTextPane:

<html>
  <head>
    <style type='text/css'>
        p { text-indent: 20px; }
    </style>
  </head>
  <body>
    <p style="margin-top: 0">
    The text.
    </p>
  </body>
</html>
person Joop Eggen    schedule 05.12.2011