Задать вопрос
@ideas4ru

Java: Взаимодействие графического интерфейса с сетевым модулем

Добрый день,

Для изучения Явы решил написать сетевую игру с клиентской и серверной частью. Клиент грубо говоря состоит из двух классов: Connection, UserInterface. Пока UserInterface был чисто консольный все было замечательно.

command = userInterface.getCommand(); //блокирующий вызов
sendToServer(command);

где внутри getCommand стоит System.in.read();

Теперь я меняю консольный интерфейс на графический на основе Swing и хочу похоже вызывать
command = userInterface.getCommand();

но ситуация теперь другая. getCommand() должна вернуть только, когда пользователь сгенерирует событие мышью или клавиатурой.

В этой связи мне не очень понятно, как можно реализовать функцию getCommand.

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

Спасибо
  • Вопрос задан
  • 3138 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dzigoro
Все в порядке, только getCommand должна вызываться в SwingWorker. Почитайте тут. Смысл в том, чтобы все хоть сколько-либо длинные операции выполнять в отдельном потоке, не блокируя UI.
Ответ написан
BrightGenie
@BrightGenie
добавь своему свинг объекту MouseListener и KeyListener. и в результате нужных сочетаний клавиш клавиатуры или на mouseReleased вызывай sendToServer(command)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Сбер Москва
от 300 000 до 350 000 ₽
DIGITAL SECTOR Краснодар
от 250 000 до 450 000 ₽
Сбер Санкт-Петербург
До 350 000 ₽