2012-08-18 2 views
2

Итак, у меня есть эта программа для редактирования текста, которая больше настраивается как форма для заполнения.Проблемы с форматированием JTextArea и отображения

Я не уверен, как создать часть редактора программы. С одной стороны, из-за JTextArea, мне было бы неплохо иметь некоторые (-ы) макеты (-ов) для того, чтобы он расширялся и убирался в соответствии с количеством введенного текста (включение слова включено и все).

Однако мой документ составлен из ряда вопросов (и нескольких заданных ответов). Количество строк в вопросе (JTextArea), а в ответах (JTextArea) является переменной, как и количество заданных ответов на вопрос.

Моя область редактирования составлена ​​из столбца страниц (который будет добавлен и удален по мере необходимости), и мне как-то придется обнаруживать, что какой-то вопрос выходит за рамки страницы (или ее полей, если быть точным).

Так что, в конце концов, мне нужен какой-то полужесткий менеджер макетов. С одной стороны, чтобы сделать JTextAreas изменчивым с помощью setPreferredSize, а с другой стороны, эта ситуация, когда страница заполняется до точки, где добавляется что-то еще, разрушает астетический вид страницы, и программа переходит на следующую страницу.

Следует иметь в виду, что я намерен предоставить пользователю возможность добавлять/удалять целые вопросы и некоторые ответы в документе, а не обязательно на самом конце.

(все это используется только для представления документа пользователю (и сделать его редактируемым), позже экспортировать в PDF, но это совсем другая история)

Я не даже если вы используете JTextAreas (если у вас есть что-то лучше), вы можете предложить anykind из внешней java-библиотеки, я просто хочу заставить его работать ...

+0

Почему не 'JEditorPane' - текстовый компонент для редактирования различных видов контента. –

+0

Похоже, для этого нужны панели прокрутки, более чем особенно умные макеты. –

+0

Нет окон прокрутки. Im представляет собой листок бумаги A4, и все должно быть в двух измерениях, без наложения. Использование scrollpanes может решить проблему позиционирования компонентов, но на самом деле это не решит мою проблему ... – Karlovsky120

ответ

2

Вы можете определить высоту, чтобы показать некоторое содержимое JEditorPane с фиксированной шириной http://java-sl.com/tip_text_height_measuring.html

Итак, добавьте свое содержание шаг за шагом, чтобы определить, разрешена ли высота достигнуты. Когда это достигнуто, создайте новую страницу.

В качестве альтернативы вы можете добавить все свое содержание в JEditorPane с нумерацией страниц (как описано здесь) http://java-sl.com/articles.html

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