
还记得我上次为大家演示ChliceGroup选项框吗?
我现在来运行一下上次的程序回顾一下。
点击 Open Project, 选择上次项目名 ChoiceGroupTest ,然后就可以看大
信息 Project "ChoiceGroupTest" loaded, 已经打开。
运行一下,没错这就是上次的项目程序运行效果,
也许你会觉得它单调了写,就只是一些文字选项。
下面我们来做些修改,在选项文字前面添加一些图标,

我在网上随便找了一些小图标,大家可以看到我桌面几张图片
0.jpg, 1.jpg, 2.jpg 因为程序中有3个选项,我就找了3张图片。
好下面修改原来程序的源代码 ,添加我们自己图标上去,这是原来的代码文件
//cg = new ChoiceGroup( "请选择喜爱的编程语言:", Choice.MULTIPLE );
//cg.append( "C", null );
//cg.append( "C++",null );
//cg.append( "Java",null );
把这些注释掉
选项的内容 用数组来表示 String []strName = { "C","C++","Java" };
Image []img = new Image[3]; 装载图片的数组,这里的数目和选项一样 都是3个。
下面为每张图片设置一个 路径值给它。
try
{
img[0]=Image.createImage( "/0.jpg" );
img[1]=Image.createImage( "/1.jpg" );
img[2]=Image.createImage( "/2.jpg" );
}
catch( IOException e )
{
img[0] = null;
img[1] = null;
img[2] = null;
}
这里使用到 异常处理,也就是说如果 要加载的图片不存在,也不会影响程序运行,
会给 img里的元素赋值为null;
这里使用到 IOException 我们要引入 java.io.*; 这个包。
好, 重新创建一个含有图标的ChoiceGroup实例,
cg = new ChoiceGroup("请选择喜爱的编程语言:",Choice.MULTIPLE,strName,img);
和开始我们上次教程多了 2个参数, 原本我们是这样写的,可以对比下:
cg = new ChoiceGroup( "请选择喜爱的编程语言:", Choice.MULTIPLE );
还有一步, 就是把图标 放在对应的目录下面,ChoiceGroupTest\classes
我们编译一下,写少了一个T, 在编译一下。运行看看效果,
看,比原来我们的程序界面好看多了吧。
演示就到这里,谢谢观看!!!
04月 14th, 2009 at 22:50:34 #梁月
下面是我按照您的视频J2ME入门视频教程.07(为ChoiceGroup添加图标友好显示).rar 写上去的,但是编译出来没错误,但是图标显示不出来。不知道到底为什么,能不能帮看一下·~
[回复]
adminreply on 2009-04-14 23:08:14:
是的,图片也要放在程序中,你按照视频来做。图片在 j2me_07_source.7z 这个压缩文件里面,可以解压出来。
04月 14th, 2009 at 22:51:28 #梁月
图片大可能是原因吗?
[回复]
adminreply on 2009-04-14 23:03:01:
什么原因?不过在手机上不建议用大图片,可以减少传送图片的时间,还有节省流量。
04月 21st, 2009 at 14:07:16 #rackness
我搭建elipse+elipseme+wtk 平台
创建项目后没ChoiceGroupTest\classes这个文件夹,只有.eclipseme.tmp,.settings,bin,deployed,res,src这几个文件夹,
请教,那该把图片存放在哪个文件夹下面?
[回复]
adminreply on 2009-04-22 11:03:05:
查看class文件存在哪个目录,然后把图片也放进去测试一下。
08月 16th, 2009 at 20:27:22 #Inchyea
请问一下我把图片放到classes文件夹下的image文件夹里 创建成jar包之后image文件夹就没有了 但是jar包里面没有图片 是为什么?
[回复]
Inchyeareply on 2009-08-16 21:01:17:
自己试出来了 放在res文件夹下就行了;
adminreply on 2009-08-18 11:32:23:
呵呵