Заливаем 2 цвета фона с помощью Canvas J2ME

Я новичок в J2ME, и меня очень интересует холст, потому что он может выполнять много работы, но у меня проблема с определением координат X и Y

Я пытаюсь заполнить свой экран двумя цветами: зеленым и серым, но не хватает части экрана выше:

Мне нужна твоя помощь

Спасибо!!


person MYE    schedule 04.10.2011    source источник


Ответы (1)


второе появление i * size в fillRect в версии 3 вашего вопроса чувствует себя скользким

    int size = 50;
    for(int i = 0; i < itemsPerLines.length; i++){
         int x = 0 + 1, y = i * size,
                width = getWidth() - 2, height = size /* not i*size */;
         if(i % 2 == 0){
             g.setColor(0x00ff00); // green - not 0x0ff000
         }else{
             g.setColor(0x414141);
         }
         g.fillRect(x, y, width, height);
         g.setColor(0xff00ff); // red + blue? wonder how it looks
         int x1 = i * size, y1 = y;
         g.drawLine(x, y, x1, y1);


    }
}
person gnat    schedule 04.10.2011
comment
Большое тебе спасибо!! Но я не понимаю, почему начало Y - это я * размер, а конец Y - это размер? Я не могу представить, что - person MYE; 05.10.2011
comment
вы сбиты с толку из-за того, что выбрали имена переменных: start Y и end Y ничего не говорят об их назначении. Если вы используете имена из метода javadoc (я отредактировал свой ответ, чтобы связать его с javadoc и использовать имена оттуда), было бы легче распознать их цель, которая, в общем, описана в этом самом javadoc. y - координата y прямоугольника, который нужно заполнить, height - высота прямоугольника, который нужно заполнить. Координата Y перемещается в цикле, поэтому i*size, а высота остается прежней, поэтому size - person gnat; 05.10.2011