powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / интерактивная консоль
6 сообщений из 6, страница 1 из 1
интерактивная консоль
    #38074827
hadarcen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочется сделать интерактивную консоль, то есть чтобы юзер смог читать и писать в одну и ту же якобы командную строку. Если контролировать вывод в консоль с помощью очереди, чтобы ничего не путалось (например в многопоточном приложении), то как быть с вводом в консоль? Как сделать так, чтобы пока я не писал в консоль, туда не вывалились сообщения от приложения?
...
Рейтинг: 0 / 0
интерактивная консоль
    #38074833
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая-то жутко общая постановка. Консоль текстовая или гуёвая? У вас вопрос чисто логическией, как не читать консоль, пока кто-то что-то выводит? Так это надо смотреть на ваше окружение.
Можно как в командной строке - запустил задачу (процесс) и больше ничего вводить нельзя, пока та не завершится.
А если у вас требование параллельно вводить что-то, то надо уже с требованиями разбиратся. Может две разных консоли тогда завести?
...
Рейтинг: 0 / 0
интерактивная консоль
    #38074841
hadarcen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Консоль текстовая, никакого блокирования до окончания процесса не подразумевается. Кстати, очень похоже на чат, только в нем два окна, для ввода сообщения и для отображения истории. Мне нужно чтобы пока я туда что-то писал, в него не валились сообщения скажем других пользователей - типа занято, сохранись в очереди.
...
Рейтинг: 0 / 0
интерактивная консоль
    #38074845
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hadarcenКонсоль текстовая, никакого блокирования до окончания процесса не подразумевается. Кстати, очень похоже на чат, только в нем два окна, для ввода сообщения и для отображения истории. Мне нужно чтобы пока я туда что-то писал, в него не валились сообщения скажем других пользователей - типа занято, сохранись в очереди.

Чисто логически, а как различить моменты когда юзер в консоль "не пишет" и когда юзер пишет, но ищет нужную кнопку на клавиатуре?
Если вы это можете определить, то в чем проблема? Буферизируйте весь вывод до определенного момента и когда он наступит вываливайте в консоль.
...
Рейтинг: 0 / 0
интерактивная консоль
    #38074854
hadarcen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда задача сводится к следующей. Нужно узнать, когда юзер нажал одну кнопку, и ждать пока он не завершит ввод своего сообщения. Проблема в том, что этого сделать, насколько я понимаю, не удастся, потому что http://stackoverflow.com/questions/1066318/how-to-read-a-single-char-from-the-console-in-java-as-the-user-types-it . Поэтому можно ввести какую нибудь комбинацию клавиш - блокируем все, ждем окончания ввода от юзера.

Одна голова хорошо, а две лучше :). Спасибо.
...
Рейтинг: 0 / 0
интерактивная консоль
    #38074946
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по твоей ссылке про работу со стандартными потоками ввода-вывода (то что ты называешь "консоль").

Тебе же надо создать обычное окно JFrame и перехватывать все события клавиатуры. Это несложно. Можно сделать чтоб выглядело как виндовая консоль т.е. как чёрное досовое окошко где можно слать команды для cmd.exe.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / интерактивная консоль
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]