БлогNot. ChoiceGroup.MULTIPLE в Java2ME

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 просмотров]


теги: java2me

К этой статье пока нет комментариев, Ваш будет первым