Как сделать кнопки на холсте в J2ME? - PullRequest
1 голос
/ 07 сентября 2011

Я новичок в J2ME, и я пытался создать страницу с несколькими логотипами (изображениями) вверху, двумя расположенными рядом кнопками (одна и только одна из которых всегда выбрана) и таблицейотображение данных под кнопками.Данные отображаются в зависимости от того, какая кнопка выбрана в данный момент.Я расширяю canvas, и я смог составить таблицы и нарисовать изображения, но я не смог найти ничего о создании кнопок в интернете.Так как я должен идти об этом?Если бы кто-нибудь мог указать мне пример кода, это тоже было бы здорово!

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

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

Если они расположены в виде квадрата, вам необходимо отслеживать, какая кнопка выбрана, а затем изменять выбранный индекс при каждом нажатии клавиши направления.

2 голосов
/ 07 сентября 2011

В моем любимом способе рисовать пуговицы на холсте было рисование и заливка прямоугольников со скругленными углами. В пакете Graphics есть методы, которые делают это; чтобы получить желаемый эффект, я просто вызывал их с одинаковыми или однозначными параметрами, которые я точно не помню.

  • обратите внимание, если вы собираетесь писать текст поверх "кнопок", рассмотрите возможность использования Font.getHeight и Font.stringWidth, чтобы определить размер прямоугольника для рисования вокруг

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

Кстати, есть ли причина, по которой вы не используете Form? Я спрашиваю, потому что StringItem объекты, созданные с внешним видом BUTTON и имеющие ItemCommandListener, выглядят и ведут себя как кнопки, но их легче кодировать. Остальное также выглядит выполнимым с Form, для отображения таблицы, как вы описываете, может понадобиться CustomItem

1 голос
/ 07 сентября 2011

Пользовательский интерфейс по умолчанию не имеет кнопок, только команды. Вы должны сделать его самостоятельно или использовать графический интерфейс, например LWUit.

...