
eclipse编写j2me,jnp图显示问题
刚学j2me,从书上抄了一段简单的程序,能够成功运行,但是图片总是显示不出来,从论坛上找了很多方法,都不能解决,求各位大侠指点。图是保存在scr目录下面的,为了保证格式没...
刚学j2me,从书上抄了一段简单的程序,能够成功运行,但是图 片总是显 示不出来,从论 坛上找了很多方法,都不能解决,求各位大侠指点。
图是保存在scr目录下面的,为了保证格式没有问题,换了几个png图,包括自己ps的和从wtk目录下面找的,都显示不出来。程序如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyImage extends MIDlet implements CommandListener
{
private Command cmdExit;
private ImageCanvas canvas;
public MyImage()
{
cmdExit=new Command("Exit",Command.SCREEN,2);
canvas=new ImageCanvas();
}
public void startApp()
{
canvas.addCommand(cmdExit);
canvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(canvas);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable screen)
{
if(command==cmdExit)
{
notifyDestroyed();
}
}
}
ImageCanvas.java
import javax.microedition.lcdui.*;
public class ImageCanvas extends Canvas
{
public void paint(Graphics g)
{
try
{
Image image=Image.createImage("/bbbc.png");
g.drawImage(image, 0, 0, Graphics.TOP|Graphics.LEFT);
}catch(Exception e)
{
System.out.println(e.getMessage());
}
}
res目录里面也放过,还是不行,三楼的兄弟,是指在环境变量里面设置path吗?能不能说清楚一点。
还有,我再wtk上可以成功显示,通过wtk打包在真机上也可以显示。 展开
图是保存在scr目录下面的,为了保证格式没有问题,换了几个png图,包括自己ps的和从wtk目录下面找的,都显示不出来。程序如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyImage extends MIDlet implements CommandListener
{
private Command cmdExit;
private ImageCanvas canvas;
public MyImage()
{
cmdExit=new Command("Exit",Command.SCREEN,2);
canvas=new ImageCanvas();
}
public void startApp()
{
canvas.addCommand(cmdExit);
canvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(canvas);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable screen)
{
if(command==cmdExit)
{
notifyDestroyed();
}
}
}
ImageCanvas.java
import javax.microedition.lcdui.*;
public class ImageCanvas extends Canvas
{
public void paint(Graphics g)
{
try
{
Image image=Image.createImage("/bbbc.png");
g.drawImage(image, 0, 0, Graphics.TOP|Graphics.LEFT);
}catch(Exception e)
{
System.out.println(e.getMessage());
}
}
res目录里面也放过,还是不行,三楼的兄弟,是指在环境变量里面设置path吗?能不能说清楚一点。
还有,我再wtk上可以成功显示,通过wtk打包在真机上也可以显示。 展开
5个回答
展开全部
Image image=Image.createImage("/bbbc.png");
这句,拿到paint方法外面来,最好定义成全局变量
Image image = null;
然后在paint里
if(image == null) {
image=Image.createImage("/bbbc.png");
}
如果在paint里一直创建对象的话,首先会造成运行效率问题(创建图片很慢的),另一个,对象保存不住,很可能在手机上就无法绘制,造成你这样的问题
这句,拿到paint方法外面来,最好定义成全局变量
Image image = null;
然后在paint里
if(image == null) {
image=Image.createImage("/bbbc.png");
}
如果在paint里一直创建对象的话,首先会造成运行效率问题(创建图片很慢的),另一个,对象保存不住,很可能在手机上就无法绘制,造成你这样的问题
展开全部
如果res目录里面也放过了还是不行,那么你就对res目录build path下
如果wtk可以打包,说明程序没问题,是Eclipse路径问题。你看下你的res文件夹是不是在library下面,如果是,点击这个文件夹右键,有个build path,再选use as source field
如果wtk可以打包,说明程序没问题,是Eclipse路径问题。你看下你的res文件夹是不是在library下面,如果是,点击这个文件夹右键,有个build path,再选use as source field
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
与src目录同层的还有个res目录,图片资源要放在那个目录下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意三楼 Image image=Image.createImage("/bbbc.png");
这句,拿到paint方法外面来,最好定义成全局变量
Image image = null;
确实应该 放在外面
这句,拿到paint方法外面来,最好定义成全局变量
Image image = null;
确实应该 放在外面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |