Платформа программирования J2ME для портативных устройств

Поменять триколор там. |

Листинг 6.9. Двойная буферизация


import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Graphics;

import javax.microedition.lcdui.Image;

import Java.io.lOException;

Демонстрирует двойную буферизацию графического контекста

для отображения в Canvas.

public class DoubleBufferDerao extends Canvas

implements CommandListener

{

// Константа, которая представляет белый цвет.

private static final int WHITE = OxFF « 16 I OxFF « 8 | OxFF;

private static Command back = new Command("Back", Command.BACK, 1);

GraphicsDemo gDemo = GraphicsDemo.getlnstance();

private Display display = Display.getDisplay(gDemo);

// Объект изображения, используемый для получения

// внеэкранного объекта Graphics, private Iraage offscreen;

// Переменная, используемая для определения того, осуществляет

// ли реализация автоматическую двойную буферизацию.

// Сохраняет значение true, если реализация автоматически

// осуществляет двойную буферизацию, иначе становится

false. private boolean autoDoubleBuffered = true;

/**

Конструктор No-arg.

* /

public DoubleBufferDemo()

super();

addCoramand(back); setCommandListener(this); display.setCurrent(this);

if ( ! isDoubleBufferedO )

{

// Если реализация не использует двойную буферизацию

// автоматически, извлеките Image для того, чтобы мы могли

// получить из него внеэкранный Graphics. Этот Image изменяемый!

// Его размерами являются высота и ширина данного Canvas.

offscreen = Image.createlmage(getWidth (),

getHeight () ) ;

autoDoubleBuffered = false;

}

)

protected void paintdipRect (Graphics g)

int clipX = g.getClipX() ;

ir.t clipY = g.getClipY() ;

int clipH = g.getClipHeight();

int clipW = g.getClipWidth();

int color = g.getColor ();

g.setColor (WHITE);

g.fillRect(clipX, clipY, clipW, clipH);

g,setColor(color);

}

public void paint(Graphics g)



- Начало -  - Назад -  - Вперед -



Книжный магазин