Top.Mail.Ru
Ответы
Аватар пользователя
9лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

[Java] Как реализовывается текстовый ввод в играх?

В каждой игре должны быть разные экраны (экран меню, экран игрового процесса, экран настроек и т. д.). Так вот, чтобы это всё было красиво, я решил наследовать каждый такой "экран" от Canvas(мне кажется, это единственное решение). Но тут же столкнулся с кучей проблем. Если бы я наследовался от Panel, то можно было бы добавить TextField и не мучатся, но в Canvas нельзя добавлять Components. Реализовать кнопку в Canvas'e я ещё могу (отслеживать положение курсора и в зависимости от этого менять фон кнопки), но вот текстовое поле реализовать непросто (придётся добавлять KeyListener, рисовать строку, а как добавить мигающий курсор я вообще не знаю), да и нужно ли это? Прошу подсказать решение данной проблемы. Возможно в Java есть классы для создания текстовых полей в Canvas, о которых я не знаю.

По дате
По рейтингу
Аватар пользователя
Мыслитель
9лет

Ты можешь создать прозрачную JPanel и поместить туда EditField и запозиционировать в нужные координамы, ну или разместить на разных слоях.

Аватар пользователя
Мыслитель
9лет

Ты мог бы поисследовать исходники того же майнкрафта и посмотреть, как меню реализовано там.