关于J2me加载图片出现的java.lang.IllegalArgumentException

本文介绍了一位开发者在使用J2ME平台开发Java移动应用时遇到的图片加载异常问题,并分享了具体的源代码及错误信息。最终通过调整图片尺寸参数解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用j2me平台开发Java移动应用,载入图片的时候总是出现下面这样莫名其妙的问题

 

源代码:

 

 

try{

//load image to sprite

Image image = Image.createImage(getClass().getResourceAsStream("/transparent.png"));

sprite = new Sprite(image,50,50);

Image imageTemp = Image.createImage("/nontransparent.png");

nontransparentsprite = new Sprite(imageTemp,50,50);

}catch(Exception ex){

ex.printStackTrace();

System.out.println("/n error!");

}

 

 

报错问题:

 

java.lang.IllegalArgumentException

at javax.microedition.lcdui.game.Sprite.<init>(+41)

at ExampleGameCanvas.<init>(+74)

at ExampleGameCanvasMidlet.startApp(+15)

at javax.microedition.midlet.MIDletProxy.startApp(+7)

at com.sun.midp.midlet.Scheduler.schedule(+270)

at com.sun.midp.main.Main.runLocalClass(+28)

at com.sun.midp.main.Main.main(+80)

 

 

折腾了好久,终于在论坛上(http://topic.youkuaiyun.com/u/20080317/23/812e55a6-5139-4f94-a5de-07e7462c9ff5.html 特此感谢!)找到了解决方案。其实就是new Sprite(image,50,50);这句参数错误,因为我的图片是48x48的,而50不能被48整除故出现参数错误。

我试着改成new Sprite(image,48,48);或者new Sprite(image,16,16);异常得以解决。

希望对碰到这个问题的朋友有所帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值