| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Работа с текстом в GameCanvas? |
| Автор: Kalisnik 17.5.2012, 11:14 |
| Как в GameCanvas реализовать окно для вывода текста и, главное, поле для ввода текста? |
| Автор: oxigen 17.5.2012, 11:32 |
| Вручную в методе paint. Вывод текста - просто рисуешь текст в нужном месте через Graphics.drawString(String str, int x, int y, int anchor) Можно и прямоугольник вокруг него нарисовать Graphics.drawRect(int x, int y, int width, int height) Ввод текста аналогично. Слушаешь нажатия кнопок, изменяешь строку и рисуешь ее в paint. Но сделать нормально, очень муторная задача. Перемещение курсора реализовывать, вставку текста... Я для ввода текста показываю TextBox. Оно не так красиво и удобно для пользователей, как сразу на канвасе вводить. Но работает без багов. |
| Автор: Kalisnik 17.5.2012, 14:28 |
| А зачем метод paint? Везде, во всех примерах его используют. Зачем? По сути это же обычный метод, так как он переопределен. К тому же где то упоминалось что он может быть вызван самой vm или ams, не помню точно, что может привести к непредсказуемым последствиям. У меня все рисуется замечательно без этого метода. Да, муторно. ( но с другой стороны, один раз сделать движок для ввода текста и потом спокойно его используешь во всех своих проектах. |
| Автор: oxigen 17.5.2012, 16:13 | ||
Не совсем понял. А где тогда рисуете, если не в paint? UPD: А. если gameCanvas, то через getGraphics наверное. Да, так наверное даже лучше. |
| Автор: Kalisnik 17.5.2012, 23:24 |
Да, через getGraphics |
| Автор: Kalisnik 18.5.2012, 17:40 |
| Кстати, случайно наткнулся на SVG-графику. В NB есть свой встроенный редактор, правда он малофункционален. Собственно с помощью этого SVG-редактора, интерфейс пользователя создается в считанные минуты. |