Интерфейс командной строки в Java - PullRequest
2 голосов
/ 10 февраля 2011

Я хочу создать кроссплатформенное решение для предоставления доступа к потокам ввода, ошибок и вывода процесса в Java.

По сути, я хочу создать текстовую область, отображающую процесс 'потоки вывода и ошибок, а также позволяет передавать данные во входной поток.Другими словами, в значительной степени то, что Eclipse уже предоставляет со своей Консолью при запуске приложения.

Теперь, базовая реализация этого была проста, я просто отправляю все нажатия клавиш в потоке ввода.Но, конечно, у меня возникли проблемы с вставкой, клавишами возврата и возврата, обработкой ctrl-C и т. Д.

Кажется, мне следует подождать, прежде чем отправлять данные на вход процессапоток.Но ждать чего?Должен ли я отправлять весь введенный (и вставленный) текст на каждый ключ возврата?Или после перерыва?Как насчет ctrl-C , ctrl-X и так далее.Я посылаю движение стрелки в поток ввода?

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Самое простое и удобное решение - иметь кнопку «Отправить», которая отправляет все содержимое текстовой области и очищает ее. Подумайте, приложения для обмена мгновенными сообщениями или ТАК редактор комментариев.

0 голосов
/ 10 февраля 2011

Вам не нужно ничего ждать, просто отправляйте - но отправляйте в отдельном потоке, а не в ваш GUI-Event-поток, чтобы последний не блокировал.

Для обработки специальных символов посмотрите, что вы получите, если эти знаки будут введены в текстовой консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...