Поиск эффективного Java основанная на Swing консоль

Я ищу высокоэффективный компонент Java Swing, который я могу просто включить свое приложение UI. Я уже попытался использовать классы в Swing, такие как JTextArea без пользы; они просто не достаточно высокоэффективны и имеют любые недостатки нанесения вреда. Кроме того, было бы хорошо, если бы это имело стандартные консольные функции, такие как блокировка прокрутки, ясная консоль, цвета, и так далее.

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

Удачи,
Chris

5
задан Chris Dennett 24 February 2010 в 21:02
поделиться

2 ответа

Я не понимаю, что не так с использованием JTextPane. Он поддерживает атрибуты, которые вы можете указать при добавлении каждого фрагмента текста в консоль. Очистить его тоже, очевидно, нетрудно. При добавлении на панель прокрутки он также поддерживает прокрутку.

Вы можете добавить блокировку прокрутки с помощью Smart Scrolling .

Кроме того, он удаляет текст слишком рано и

Понятия не имею, что это означает, поскольку текст никогда не удаляется, если вы специально не удалите его из документа.

не позволяет пользователю прокручивать, пока вводится (afaik). Эффект заключается в том, что вы видите только мигающий текст , в то время как количество строк остается неизменным.

По умолчанию текст прокручивается автоматически по мере добавления текста к документу, если код выполняется на EDT. Этой прокруткой можно управлять в примере, приведенном по ссылке выше.

Правка:

, но мне все равно хотелось бы получить библиотечное решение

Я не знаю ни одного

текста с автоматической раскраской, поступающего из разных потоков

Консоль сообщений может дать вам несколько идей.

(т.е. обнаружение префикса [error] в строке ) и раскрашивание строк на основе this)

Это легко сделать, добавив DocumentFilter в документ текстовой панели .Вы можете добавлять атрибуты по мере того, как текст вставляется в документ.

6
ответ дан 14 December 2019 в 01:06
поделиться

Убедитесь, что вы читали о потоке диспетчеризации событий (EDT) в процессе !

Кстати: простой поиск "java swing console" даст вам много подсказок ИЛИ вы можете использовать / адаптировать текстовое поле beanshell , которое тоже является jtextfield ...

{{1} }
3
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: