Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 2
Регистрация: 08.04.2009
Сообщений: 271

Проблемы с выводом в JTextArea внутри JScrollPane

24.10.2010, 19:35. Показов 2272. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Когда я использую JTextArea внутри JScrollPane с последовательным
выводом большого количества строк в JTextArea из отдельного потока,
вертикальный ScrollBar обновляет размер своего движка и строки
добавляются в конец JTextArea, однако (хоть тресни) само окно
не скроллируется. Видимыми остаются первые 10 строк, а не последние.

Если вывод осуществляется в том же потоке, где порождены объекты
вывода все работает нормально. Мои экзерсисы на протяжении нескольких
дней успеха не принесли.

Граждане, подскажите, что тут можно сделать, чтобы переместиться в конец хотя бы после окончания порции вывода ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2010, 19:35
Ответы с готовыми решениями:

Передача текста JTextArea в Listener и JScrollPane в нулевом расположении
В приложении 3 класса 1: FormStart (основной) package TestForm; import javax.swing.JFrame; public class FormStart { ...

Проблемы с JScrollPane
Задача следующая , записывать информацию в JTextArea в цикле, информация должна вписываться не заменяя старую Вписывать не заменяя...

Как на JScrollPane добавить несколько JScrollPane?
как на JScrollPane добавить несколько JScrollPane? Мне нужно на фрейме разместить пару JLabel, а под ними JTable. я так понимаю,...

4
mishgun
24.10.2010, 22:29
A mozhet tak?
Java
1
2
3
4
5
6
7
8
9
JViewport viewPort = jScrollPane.getViewport();
viewPort.addChangeListener(new ChangeHandler());
 
public class ChangeHandler implements ChangeListener {
  public void stateChanged(ChangeEvent e) {
   //your code
  }
 
}
0 / 0 / 2
Регистрация: 08.04.2009
Сообщений: 271
25.10.2010, 10:38  [ТС]
Вызов stateChanged() конечно же происходит, но вопрос не в том, как
перехватить событие вопрос в том как заставить jScrollPane скроллировать окно.
Я перед тем как задать вопрос и вовсе пытался переписать исходный текст JTextArea, однако это успеха не добился.
Проблема как раз и заключается в том, ЧТО надо написать в том месте,
где //your code ?
0
3 / 3 / 0
Регистрация: 25.08.2010
Сообщений: 213
25.10.2010, 12:14
Есть следующая идея - у скроллпейна ест ьметод getViewport - который возвращает тебе вьюпорт (видимую областя)
У класса JVieport есть метод setViewPosition(Point pt) который принимает в качестьве аргумента левый верхний угол (точнее координату точки компонента которую отображать в левом верхнем углу).
По-моему все
0
0 / 0 / 2
Регистрация: 08.04.2009
Сообщений: 271
25.10.2010, 15:14  [ТС]
Картинка немного 'дрожит' от такого решения, но РАБОТАЕТ. УРА !
Java
1
2
3
4
  Dimension dTotal =  getPreferredSize();
  Dimension dView =  getPreferredScrollableViewportSize();
  int y = (int)(dTotal.getHeight() - dView.getHeight());
  if( y > 0  )  viewPort.setViewPosition( new Point( 0, y ) );
Спасибо mishgun ! Спасибо Kolinus !

PS : Однако приведенный выше текст лучше НЕ исполнять в методе
Java
1
public void stateChanged( ChangeEvent e )
Класса ChangeHandler, как это первоначально предложил mishgun, поскольку
нужно будет осуществлять дополнительный контроль за событиями. так как
метод вызывается и при перетаскиваии движка ScrollBar'а, что конечно недопустимо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2010, 15:14
Помогаю со студенческими работами здесь

Проблемы с выводом из БД
Здравствуйте! У меня есть некая база данных, в которой лежат картинки. Отправляется запрос с ссылкой на картинку, далее ищем её в БД,...

Проблемы с выводом
Подскжите пожалуйста почему не работает эта программа ? Почему точнее не работает вывод ? #include<iostream> ...

Проблемы с выводом
Это часть программы. При вводе фамилии , имени, телфон, дату и вводишь "*" вывод получаеться правильный( выводить фамилия и имя). При вводе...

Проблемы с выводом
У меня расхождение с учебником, а в чем проблема не как не могу догадаться, подскажите пожалуйста, почему нет вывода? #include...

Проблемы с выводом
Шифр Цезаря проблема с выводом выдает какие-то символы, а должно буквы var Form1: TForm1; m,a,c:string; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru