Часть 1 "Убираем нижнюю полосу" Оригинальная статья прислана мне DG Soft, за что ему огромный респект. Для реализации полного экрана нужно знать некоторые особенности самсунговского апи. Вобще дело в том что на главном канвасе нельзя использовать функцию SetClip, чтобы было понятно если ты делаеш SetClip(12,23,45,23) к примеру для вывода части картинки а потом тебе надо отрисовать картинку на весь экран SetClip(0,0,128,128) то фактически получаеш SetClip(0,0,128,110) это связано с тем что в классе Display параметры width=128 и height = 110 вот такая фигня. вот код функции SetClip тобы было понятно: public void setClip(int x, int y, int width, int height) { x += transX; y += transY; short clipX1 = x <= 0 ? 0 : (short)(x & 0x7fff); short clipY1 = y <= 0 ? 0 : (short)(y & 0x7fff); if(x >= maxWidth || width <= 0 || y >= maxHeight || height <= 0) { clip[0] = clip[1] = clip[2] = clip[3] = 0; clipped = true; return; } clipX2 = x + width; if(clipX2 > maxWidth) clipX2 = maxWidth; clipY2 = y + height; if(clipY2 > maxHeight) clipY2 = maxHeight; // вот вся фигня из-за етой проверки clip[0] = clipX1; clip[1] = clipY1; clip[2] = (short)(clipX2 - clipX1); clip[3] = (short)(clipY2 - clipY1); if(clip[2] < 0) clip[2] = 0; if(clip[3] < 0) clip[3] = 0; if(clipX1 > 0 || clipY1 > 0 || clipX2 < maxWidth || clipY2 < maxHeight) clipped = true; } А теперь решение: Cоздаеш темповый имедж равный размеру экрана, на него создаеш темповый графикс ti = Image.createImage(width, height); tg = ti.getGraphics(); затем где по коду встречается (допустим главный канвас g) g.DrawImage g.DrawString g.SetClip g.SetColor g.SetFont перенаправляеш на темповый имедж т.е. меняеш g на tg а в конце главной процедуры отрисовки (void paint(Graphics g) отрисовываеш темповый имедж на главном канвасе g.DrawImage(ti,0,0,0); и всё ... Пример прикрепил CallOfDuty.zip