请参考java.util.TimerTask.
TimerTask is something like Timer in VisualBasic. You can sepcify a time period in milliseconds
for your requirement"一幅LOGO显示完以后,几秒种自动显示下一幅LOGO".
Here is an sample code.

public void testTimer()
{
MyTimerTask myTimerTask = new MyTimerTask();
Timer timer = new Timer();
timer.schedule(myTimerTask, 5000, 10000); //wait for 5 seconds and then call the function every

10 seconds
}


class MyTimerTask extends TimerTask
{

public void run()
{
//This method will be called every 10 Seconds

Image im = Image.createImage(imageData, 0, imageData.length);
if(im == null)
System.out.println("NULL IMAGE");
System.out.println("The Size of the Byte Array is:" +imageData);
if(frm.size() > 0)
for(int i = 0; i < frm.size(); i++)
frm.delete(i);
frm.append(im);
disp.setCurrent(frm);

}
}

另外,对于你所说的是不是应该叫做SplashScreen,那么国外曾经有人给出这么一个例子,虽然不是周期性地显示一张又一张的图片,而是利用TimerTask周期性地repaint画布,画出一种Splash Screen的感觉,你可以参考:
import java.util.*;

import javax.microedition.lcdui.*;

public class WaitCanvas

extends Canvas
{
private int mCount, mMaximum;
private int mInterval;

private int mWidth, mHeight, mX, mY, mRadius;
private String mMessage;


public WaitCanvas()
{
mCount = 0;
mMaximum = 36;
mInterval = 100;

mWidth = getWidth();
mHeight = getHeight();

// Calculate the radius.
int halfWidth = (mWidth - mRadius) / 2;
int halfHeight = (mHeight - mRadius) / 2;
mRadius = Math.min(halfWidth, halfHeight);

// Calculate the location.
mX = halfWidth - mRadius / 2;
mY = halfHeight - mRadius / 2;

// Create a Timer to update the display.

TimerTask task = new TimerTask()
{

public void run()
{
mCount = (mCount + 1) % mMaximum;
repaint();
}
};
Timer timer = new Timer();
timer.schedule(task, 0, mInterval);
}


public void setMessage(String s)
{
mMessage = s;
repaint();
}


public void paint(Graphics g)
{
int theta = -(mCount * 180 / mMaximum);


// Clear the whole screen.
g.setColor(255, 255, 255);
g.fillRect(0, 0, mWidth, mHeight);

// Now draw the pinwheel.
g.setColor(0, 0, 0);

g.drawArc(mX, mY, mRadius, mRadius, 0, 360);

g.fillArc(mX, mY, mRadius, mRadius, theta + 20, 20);
//g.fillArc(mX, mY, mRadius, mRadius, theta + 60, 60);
//g.fillArc(mX, mY, mRadius, mRadius, theta + 90, 90);
//g.fillArc(mX, mY, mRadius, mRadius, theta + 120, 120);

// Draw the message, if there is a message.
if (mMessage != null)
g.drawString(mMessage, mWidth / 2, mHeight,
Graphics.BOTTOM | Graphics.HCENTER);
}
}


上面那个是利用TimerTask自动定时填充图形来展示Splash Screen的,那么下面这个就是显示图片来Splash Screen了:
import java.util.*;
import javax.microedition.lcdui.*;


public class Splash extends Canvas
{

private Display display;
private Displayable next;
private Timer timer=new Timer();


public Splash (Display display,Displayable next)
{
this.display=display;
this.next=next;
display.setCurrent(this);
}


protected void showNotify ()
{

timer.schedule( new TimerTask ()
{ public void run()
{
displayNext(); }},8000);
}


protected void hideNotify()
{
timer.cancel();
}


protected void keyPressed (int keycode)
{
displayNext();
}


protected void pointerPressed (int x, int y)
{
displayNext();
}


private void displayNext()
{
display.setCurrent(next);
}


protected void paint (Graphics g)
{
int height=this.getHeight();
int width=this.getWidth();

// fill background as white
g.setColor(0xFFFFFF);
g.fillRect(0,0,width,height);

Image logo=null;

try
{
logo=Image.createImage("/images/logo.png");

} catch (Exception ignore)
{}

g.drawImage(logo,width/2,height/2,g.HCENTER|g.VCENTER);
}

}

here's the calling method in your midlet(it passes the Display and current Displayable):


/** *//**
* This shows the splash
*/


private void showSplash ()
{
new Splash (display,MenuList);
}


还有一种办法是利用currentTimeMillis。
无非就是利用System.currentTimeMillis()+2000先行计算出什么时间该显示
后一幅图片了,如果靠while循环不断检测发现时间到了,就换那张图片。
private boolean showImage;



void someMethod()


{
long time = System.currentTimeMillis()+2000;

showImage = true;
while(System.currentTimeMillis()<time)


{
repaint();
serviceRepaints();
}
showImage = false;
}

public void paint()


{


if(showImage)
g.drawImage(img,offsetX,MAX_Y/2,g.LEFT|g.VCENTER);
}

efei说:
“你要做的无非就是一个延时,过一定时间就换一幅图片。至于怎么来判断这个延时,方法多种多样,用线程,用TimerTask,用System.currentTimeMillis(),基本上都一样
个人比较倾向于使用线程作为固定的时钟脉冲来驱动游戏。
对于System.currentTimeMillis(),我只能告诉你两点,一是它的作用是取得当前时间,二呢,用这个方法如果只是简单比较时间,那么如果中断游戏,过一段时间再恢复,就会存在问题。
”