Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с текстом в GameCanvas? 
:(
    Опции темы
Kalisnik
Дата 17.5.2012, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.6.2011

Репутация: нет
Всего: нет



Как в GameCanvas реализовать окно для вывода текста и, главное, поле для ввода текста?
PM MAIL   Вверх
oxigen
Дата 17.5.2012, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Вручную в методе paint.

Вывод текста - просто рисуешь текст в нужном месте через Graphics.drawString(String str, int x, int y, int anchor)
Можно и прямоугольник вокруг него нарисовать Graphics.drawRect(int x, int y, int width, int height)

Ввод текста аналогично. Слушаешь нажатия кнопок, изменяешь строку и рисуешь ее в paint.
Но сделать нормально, очень муторная задача. Перемещение курсора реализовывать, вставку текста...
Я для ввода текста показываю TextBox. Оно не так красиво и удобно для пользователей, как сразу на канвасе вводить. Но работает без багов.
PM MAIL   Вверх
Kalisnik
Дата 17.5.2012, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.6.2011

Репутация: нет
Всего: нет



А зачем метод paint? Везде, во всех примерах его используют. Зачем? По сути это же обычный метод, так как он переопределен. К тому же где то упоминалось что он может быть вызван самой vm или ams, не помню точно, что может привести к непредсказуемым последствиям. У меня все рисуется замечательно без этого метода.

Да, муторно. ( но с другой стороны, один раз сделать движок для ввода текста и потом спокойно его используешь во всех своих проектах. smile

Это сообщение отредактировал(а) Kalisnik - 17.5.2012, 14:33
PM MAIL   Вверх
oxigen
Дата 17.5.2012, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Цитата(Kalisnik @ 17.5.2012,  14:28)
А зачем метод paint? Везде, во всех примерах его используют. Зачем? По сути это же обычный метод, так как он переопределен. К тому же где то упоминалось что он может быть вызван самой vm или ams, не помню точно, что может привести к непредсказуемым последствиям. У меня все рисуется замечательно без этого метода.

Не совсем понял. А где тогда рисуете, если не в paint?

UPD: А. если gameCanvas, то через getGraphics наверное. Да, так наверное даже лучше.

Это сообщение отредактировал(а) oxigen - 17.5.2012, 16:55
PM MAIL   Вверх
Kalisnik
Дата 17.5.2012, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.6.2011

Репутация: нет
Всего: нет



Цитата(oxigen @  17.5.2012,  16:13 Найти цитируемый пост)
Не совсем понял. А где тогда рисуете, если не в paint?


Да, через getGraphics smile Получаем буфер и рисуем в нем что хотим. 

Это сообщение отредактировал(а) Kalisnik - 17.5.2012, 23:30
PM MAIL   Вверх
Kalisnik
Дата 18.5.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.6.2011

Репутация: нет
Всего: нет



Кстати, случайно наткнулся на SVG-графику. В NB есть свой встроенный редактор, правда он малофункционален. Собственно с помощью этого SVG-редактора, интерфейс пользователя создается в считанные минуты.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.