J2ME屏幕不刷新?还有谁有J2ME,MIDP的下载地址?
我安装了
j2me_wireless_toolkit-2_0-windows.exe
j2sdk-1_4_1_03-windows-i586.exe
在公司的机器上运行正常,在家里面的机器出现画面不能刷新的问题
请问这是怎么回事儿?
另外,安装了以后我的程序找不到midp
MIDP需要另外安装么?
忘高手不惜赐教,谢了!
问题点数:100、回复次数:14Top
1 楼zhushizu(从来就没有救世祖)回复于 2004-09-01 13:31:33 得分 11
是呀,我也是想了好久。。关注中。。。Top
2 楼prok(换换口味)回复于 2004-09-01 13:48:35 得分 11
MIDP不用另外安装啊。是不是模拟器死了?不刷新Top
3 楼zhang21cnboy(事了抚衣去,不留身与名)回复于 2004-09-01 14:07:09 得分 11
光这样,很难看出问题Top
4 楼shiyonggang(最熟悉的陌生人)回复于 2004-09-01 14:56:04 得分 11
9494Top
5 楼huangtaoxiao(huangtaoxiao)回复于 2004-09-01 15:36:51 得分 11
呵呵,肯定不是软件问题拉,屏幕刷新是要靠自己做的,不能指望别人的,是不是你的路径
配的不是很对阿
Top
6 楼nik_Amis(...)回复于 2004-09-01 19:28:05 得分 0
是两个问题,偶没有说清楚
1。不刷新
安装J2ME以后,打开Run MIDP Application ...这些程序,反映很慢
画面又不刷新的现象,比如关掉这个窗体,屏幕上还有它的部分图像
2.配置有问题
按照书上说的要配置CLASSPATH,PATH,SCREEN_DEPTH但是有些MIDP的路径我在安装J2ME的目录里面找不到
我强行按照书上说的配了环境变量
能打开javac但是编译的时候碰到midp的引用就抱错,说什么找不到,还要配什么HOME?
Top
7 楼nik_Amis(...)回复于 2004-09-01 19:29:50 得分 0
第1个问题用的是版本2,没有办法,我把J2ME完全卸载了重新找了另外一个版本1。4的好想,安装就不会又不刷新的问题
Top
8 楼dfrank(dfrank)回复于 2004-09-02 01:26:58 得分 11
很怪的问题 :)Top
9 楼huangtaoxiao(huangtaoxiao)回复于 2004-09-02 08:45:35 得分 20
呵呵,要是在标准的J2ME下做这个,就不用配路径了巴,新建一个工程,然后到J2ME的安装目录下面,把你要编译运行的文件放到相应的文件夹下面,然后有KTOOLBAR图形工具,build就可以了阿,真想配路径的话,你只是需要把,需要运行的模拟器和验证程序,配在Path下面,把官方提供的类,配到classpath下面就行了,用不着多想,就和配普通的Java是一样的阿^-^Top
10 楼nik_Amis(...)回复于 2004-09-02 10:14:11 得分 0
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:1: package javax.microedtition.midlet does not exist
import javax.microedtition.midlet.*;
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:2: package javax.microedtition.lcdui does not exist
import javax.microedtition.lcdui.*;
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:5: cannot resolve symbol
symbol : class MIDlet
location: class TimerDemo
public class TimerDemo extends MIDlet
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:7: cannot resolve symbol
symbol : class Display
location: class TimerDemo
Display display;
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:36: cannot resolve symbol
symbol : class Canvas
location: class TimerDemo.StarField
class StarField extends Canvas
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:67: cannot resolve symbol
symbol : class Graphics
location: class TimerDemo.StarField
protected void paint(Graphics g)
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:21: cannot resolve symbol
symbol : class viod
location: class TimerDemo
protected viod pauseApp() {}
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:13: cannot resolve symbol
symbol : variable Display
location: class TimerDemo
display=Display.getDisplay(this);
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:26: cannot resolve symbol
symbol : method notifyDestroyed ()
location: class TimerDemo
notifyDestroyed();
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:45: cannot resolve symbol
symbol : method getHeight ()
location: class TimerDemo.StarField
height=getHeight();
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:46: cannot resolve symbol
symbol : method getWidth ()
location: class TimerDemo.StarField
width=getWidth();
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:47: cannot resolve symbol
symbol : variable heigh
location: class TimerDemo.StarField
stars=new int[heigh];
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:60: cannot resolve symbol
symbol : method newxtInt ()
location: class java.util.Random
stars[0]=(generator.newxtInt()%(3*width))/2;
^
E:\j2me\wtk\apps\TimerDemo\src\TimerDemo.java:65: cannot resolve symbol
symbol : method repaint ()
location: class TimerDemo.StarField
repaint();
^
14 errors
com.sun.kvem.ktools.ExecutionException
Build failed
Top
11 楼nik_Amis(...)回复于 2004-09-02 10:14:55 得分 0
源程序,那位大虾帮俺看看谢谢了!
import javax.microedtition.midlet.*;
import javax.microedtition.lcdui.*;
import java.util.*;
public class TimerDemo extends MIDlet
{
Display display;
StarField field=new StarField();
FieldMover mover=new FieldMover();
Timer timer=new Timer();
public TimerDemo()
{
display=Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {}
protected void startApp()
{
display.setCurrent(field);
timer.schedule(mover,100,100);
}
protected viod pauseApp() {}
public void exit()
{
timer.cancel();
destroyApp(true);
notifyDestroyed();
}
class FieldMover extends TimerTask
{
public void run()
{
field.scroll();
}
}
class StarField extends Canvas
{
int height,width;
int[] stars;
Random generator=new Random();
boolean painting=false;
public StarField()
{
height=getHeight();
width=getWidth();
stars=new int[heigh];
for (int i=0;i<height;i++)
{
stars[i]=-1;
}
}
public void scroll()
{
if (painting) return;
for (int i=height-1;i>0;--i)
{
stars[i]=stars[i-1];
}
stars[0]=(generator.newxtInt()%(3*width))/2;
if (stars[0]>=width)
{
stars[0]=-1;
}
repaint();
}
protected void paint(Graphics g)
{
painting=true;
g.setColor(0,0,0);
g.fillRect(0,0,width,height);
g.setColor(255,255,255);
for (int y=0;y<height;++y)
{
int x=stars[y];
if (x==-1) continue;
g.drawLine(x,y,x,y);
}
painting=false;
}
protected void keyPressed(int keyCode)
{
exit();
}
}
}Top
12 楼nik_Amis(...)回复于 2004-09-02 10:20:32 得分 0
晕!低级拼写错误-_-#
stars[0]=(generator.newxtInt()%(3*width))/2;
这句那里错了?
Top
13 楼minajo21(大眼睛)回复于 2004-09-02 10:31:17 得分 14
@_@Top
14 楼nik_Amis(...)回复于 2004-09-02 11:29:17 得分 0
解决了
多谢楼上各位了
Top




