Я пишу программный компонент, который на лету отображает содержимое определенного файла журнала. Подумайте об увеличении tail -f
. Это должно быть частью большего графического интерфейса.
Мне было интересно, какой компонент GUI следует выбрать для реализации прокручиваемой области текста, которая должна отображать вывод файла журнала.
Три моих основных требования:
- Поиск - позволяет пользователю находить слова в журнале. Подчеркну, что поиск не может быть реализован фильтром . Я хочу перейти к ячейке, содержащей
foo
в файле журнала без сокрытия соседей, которые не содержат foo
, в отличие от фильтрации.
- Копировать - он должен позволять легко выбирать и копировать строки (поэтому я исключил решения на основе DataGrid).
- Фильтр - он должен позволять мне легко скрывать определенные строки.
- Цвета - было бы неплохо иметь возможность иногда использовать определенные цвета (на основе фильтров)
Было бы также неплохо, если бы компонент подчинялся шаблону MVC.
Конечно, можно реализовать все те с помощью регулярной текстовой области только для чтения, но мне было интересно, есть ли что-то проще. Единственная необычная особенность здесь - это фильтрация, после того как вся текстовая область с возможностью поиска кажется мне общим требованием.
Могут быть также приняты Java GUI-решения (их можно использовать и для java-приложений).
BareTail похож на то, что я ищу, но, к сожалению, он не доступен как компонент.