如何在j2me 载入图片

importjavax.microedition.midlet.*;//显示图片importjavax.microedition.lcdui.*;importjava.i... import javax.microedition.midlet.*;//显示图片
import javax.microedition.lcdui.*;
import java.io.*;
public class dongdong_03 extends MIDlet implements CommandListener {
private SSCanvas canvas;

public dongdong_03() {}

protected void destroyApp(boolean unconditional) {}
protected void pauseApp() {}

protected void startApp() throws MIDletStateChangeException {
if (canvas == null) {
canvas = new SSCanvas(Display.getDisplay(this));
Command exitCommand = new Command("EXIT",Command.EXIT,0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);

canvas.start();//启动画布
}
}
public void commandAction(Command c,Displayable s){
if(c.getCommandType() == Command.EXIT){
destroyApp(true);
notifyDestroyed();

}
}
}
class SSCanvas extends Canvas {
private Display display;
private Image[] slides;
private String[] caption = {"page 1","page 2","page 3","page 4"};
private int curSlide = 0;
public SSCanvas (Display d){
super ();
display = d;

//载入幻灯片的图像
try {
slides = new Image[4];
slides[0] = Image.createImage("/trusted_prompt.png");
slides[1] = Image.createImage("/phone.gif");
slides[2] = Image.createImage("/untrusted_prompt.png");
slides[3] = Image.createImage("/trusted_prompt.png");

}
catch(IOException e){
System.out.println("Failed loading images!") ;
}
}

void start (){
display.setCurrent(this);
repaint();
}

//从keyCode 获得游戏动作
public void keyPressed( int keyCode){
int action = getGameAction(keyCode);

switch (action){
case LEFT:
if (--curSlide <0)
curSlide = slides.length-1;
repaint();
break;
case RIGHT:
if(++curSlide >=slides.length)
curSlide = 0;
repaint();
break;

}
}

//清楚显示屏
public void paint (Graphics g){
g.setColor(255, 255, 255);//白色
g.fillRect(0, 0, getWidth(), getHeight());

//绘制当前图像
g.drawImage(slides[curSlide], getWidth()/2, getHeight()/2, Graphics.HCENTER|Graphics.BASELINE);

//设置标题字体
Font f = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
g.setFont(f);

//绘制当前标题
g.setColor(0, 0, 0);
g.drawString(caption[curSlide], getWidth()/2, 0, Graphics.HCENTER|Graphics.TOP);

}

}

这是我的完整程序,我想在手机上显示一个类似幻灯片的东西,但是现在图片导入不了,我的图片是保存在res文件夹下的,运行的时候会出现异常,是不是还要添加什么东西,请教真正的高手解决,弄了一上午了,急......
展开
 我来答
专业颜值测试高手
2010-04-08 · TA获得超过110个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:190万
展开全部
Graphics.HCENTER|Graphics.BASELINE
对齐方式不对。
在:
//绘制当前图像
g.drawImage(slides[curSlide], getWidth()/2, getHeight()/2, Graphics.HCENTER|Graphics.BASELINE);
改为:
g.drawImage(slides[curSlide], getWidth()/2, getHeight()/2, Graphics.HCENTER|Graphics.VCENTER);
wlk_0000
2010-04-16
知道答主
回答量:17
采纳率:0%
帮助的人:10.4万
展开全部
slides[1] = Image.createImage("/phone.gif");
J2ME 不能用GIF 格式的图片 智能用PNG
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式