ChoiceGroup.MULTIPLE в Java2ME
Пишет "Vitalya" (vital_ok_{DOG}mail.ru):
Помогите плз разобраться (java2me ) с choiceGroup
MULTIPLE. С EXCLUSIVE разобрался, а с MULTIPLE что - то
При вызове конструктора
public ChoiceGroup(String label, int choiceType, String[] stringElements, Image[] imageElements)
второй параметр может иметь значения ChoiceGroup.EXCLUSIVE
(радиокнопки, выбирается один элемент),
ChoiceGroup.MULTIPLE
(чекбоксы, можно выбрать несколько элементов), или ChoiceGroup.POPUP
(тоже можно выбрать 1 элемент, но остальные могут не показываться, вид разный в разных ява-машинах, по замыслу разработчиков - как раскрывающееся меню).
Вот пример кода из проекта.
//В классе описана группа чекбоксов, подписи и картинки для них private ChoiceGroup inputMode; private String [] signs = { "Треугольники", "Гор.прямоуг.", "Верт.прямоуг.", "Квадраты", "Верт.полосы", "Гор. полосы", "Ромбы", "Окружности" }; private Image [] img = {null, null, null, null, null, null, null, null}; //Загрузка рисунков из папки res/frm выполнена в конструкторе мидлета int i; for (i=0; i<8; i++) { try { img[i]=Image.createImage("/frm/"+(i+1)+".png"); } catch (java.io.IOException e) {} } //Где-то в нужном методе создана ChoiceGroup и выставлены флажки в зависимости от опций inputMode=new ChoiceGroup ("Форма знака:", ChoiceGroup.MULTIPLE, signs, img); for (i=0; i<8; i++) { if (options.imgmode[i]>0) inputMode.setSelectedIndex (i,true); else inputMode.setSelectedIndex (i,false); } ... append (inputMode); //А вот пример обработки в методе commandAction - проверяем состояние всех 8 флажков //и пишем опции в зависимости от выбора for (int i=0; i<8; i++) { if (inputMode.isSelected(i)==true) { options.imgmode[i] = 1; sel++; } else options.imgmode[i] = 0; }
30.11.2009, 19:17 [7828 просмотров]