2012-05-30 4 views
2

Мне нужен какой-то JTextField, который заменяет символы возврата каретки стилизованным блоком, отображающим текст < Новый   Строка > с другим шрифтом, стилем или цветом.JTextField со стилизованными блоками

К примеру, текст ..

Dear Mr. Smith,\nblablabla...\nRegards... 

..would будет показано пользователю, в одной строке JTextField, таким образом:

Уважаемый г-н Смит, < Новая   линия > блаблабла ... < Новая   линия >... С уважением

< These New   Line > должен быть блоками, которые выбираются, как если бы это был один символ и может быть удален с помощью одного забоя. Нажатие клавиши возврата добавит < Новый   Линия > в положении каретки.

Я думаю, что это возможно, переопределив PlainDocument, но я застрял в трудных для понимания API-интерфейсах Document и EditorKit. Я должен был бы некоторые указатели об этом ...

У меня нет никаких возражений с использованием JTextPane или JEditorPane до тех пор, как он ведет себя как JTextField (одна линия, нет прокрутки-бар).

Любые предложения?

ответ

5

Любые предложения?

Вместо этого используйте JTextArea (многострочный компонент).

Для примера см this answer:

http://i29.tinypic.com/6isl4y.png


Было бы проще, но это не то, что я должен сделать ...

достаточно Fair , Я пропустил часть, которая заявила:

..с другим шрифтом, стилем или цветом.

Для этого потребуется документ в стиле, такой как JEditorPane или JTextPane.

+0

Было бы проще, но это не то, что я должен сделать ... –

+0

См. Обновление. –

+6

+1 см. Также этот [пример] (http://stackoverflow.com/a/3245805/230513). – trashgod

Смежные вопросы