Как я могу изменить размер CustomItem внутри формы в J2ME?
Как я могу изменить размер CustomItem
внутри формы в J2ME? Я создал CustomItem
(производный класс javax.microedition.lcdui.CustomItem
) и поместил его в форму (производного класса javax.microedition.lcdui.Form
). После некоторых событий я хочу изменить CustomItem
высота и ширина. Как я должен изменить свой код?
2 ответа
Я получил решение. Мы должны создать новый объект для нового CustomItem с новыми свойствами. Затем удалите существующий CustomItem из формы и добавьте новый CustomItem внутри формы.
В MIDP CustomItem отображается вмещающим контейнером Form. MIDP не предоставляет способ уведомить своего родителя, что его размер изменился; так что это поведение должно быть вручную в вашем коде.
Предположим, ваше событие вызывается при нажатии пользователем кнопки "ОК" ("Огонь"), тогда вам нужно будет вызвать либо функцию repaint(), либо переписать (x,y,w,h). Этот вызов перерисовки вызывает рисование всего CustomItem или только прямоугольной части. Этот inturn вызывает ваш метод paint () (из CustomItem), где вы можете нарисовать компонент большего размера.