2012-03-29 3 views
2

Я хотел бы знать, можно ли поддерживать «\ r» (возврат каретки) без нового разрыва строки в JTextArea или эта функция поддерживается в любых других подобных реализациях Java?Есть ли способ поддержать реальный возврат каретки r без нового разрыва строки в JTextArea?

Скажите, что после того, как текст добавлен в текстовую область, я хочу, чтобы это было добавлено.

«Пожалуйста, подождите, загрузка в ходе»

После этого статуса прогресса загрузки с метровым прогрессом символа «#» получает добавленный. .: например

#\r 
##\r 
###\r 
####\r 
#####\r 

Я хотел бы сообщить, что здесь, я читаю прогресс из буфера символа после символа. Я не хочу заменять символы '\ r', которые я читаю из буфера.

Итак, что я хотел бы видеть, если вышеупомянутый прогресс отображается в одной строке, без разрыва строки Скажем, #########

С наилучшими пожеланиями

ответ

3

в качестве альтернативы маркировки прогресса в самой JTextArea, рассмотреть украшающие его с JProgressBar или variation.

Приложение: SwingWorker полезно для управления длительными фоновыми задачами при отображении промежуточного прогресса. В этом example рабочий выполняет итерацию через SQL ResultSet и обновляет JProgressBar. Обратите внимание, что GUI PropertyChangeListener может обновлять произвольные компоненты, а индикатор выполнения может быть customized.

+0

Привет, Trashgod, я думаю, что я не сделал себя очень ясно. Вещь состоит из нескольких символов, которые считываются из буфера. Я не могу поместить все символы в JPGROGRAMBAR setProgress(). Только некоторая часть (символы) всего буфера имеет номер # \ r ## \ r ### \ r #### \ r ##### \ r Итак, если разрыв строки не возникает где есть '\ r', это означало бы, что весь прогресс будет выглядеть как прогрессирующий в той же строке ... как #####, между строк нет разрывов. Я готов объяснить больше, если потребуется. –

+0

Я выступаю за четкое разделение между содержанием текстового компонента и любым указанием прогресса. Я не вижу возможности как для _change_ контента, так и для изменения содержимого одновременно. – trashgod

+0

Привет, Trashgod, не имея возможности изменить буфер, я имею в виду, допустим, у меня есть следующий контент, поступающий из буфера: «Выполняется загрузка ... ** \ r \ n ** Пожалуйста, подождите ... ** \ r \ n ** # \ r ## \ r ### \ r #### \ r ##### \ r \ nЗагрузить полную ... '. Итак, как бы я справился с этой проблемой, если бы мне пришлось модифицировать персонажей, идущих на моем пути. Вы поняли, да? ** \ r ** может быть где угодно, кроме моей точки интереса. –

2

Вы должны смотреть на public void read(Reader in, Object desc) throws IOException

+0

Спасибо mKorbel, я посмотрю и вернусь назад. :) –

+0

@JtheRocker: Если вы идете по этому пути, рассмотрите ['java.io.PushbackReader'] (http://docs.oracle.com/javase/6/docs/api/java/io/PushbackReader.html). – trashgod

+0

TrashGod & mKorbel: Я был бы признателен, если бы вы, ребята, могли показать мне пример, как это можно сделать с помощью этой техники :) –