Canvas的pointerPressed方法
我知道这个pointerPressed方法是低级界面canvas的处理触屏的方法,之前在这个方法里面System.out.print坐标,每点一次,就会输出一个点坐标。现在我定义个类继承MIDlet,有定义个类继承Canvas,现在我想每点一下坐标,MIDlet中有个Form会增加一个坐标值,也就是说怎样将canvas中的pointerPressed方法中的坐标值动态的传到Form中并显示,我自己做的,貌似可以传进去,但是现实不出来,似乎在pointerPressed中加display.setCurrent(f);就不会再回去坐标,下面是我的代码,高手帮看看,顺便解释下pointerPressed方法怎么实现的。
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Point extends MIDlet{
	public static Display display;
	private Mycanvas mycanvas;
	public Point() {
		display=Display.getDisplay(this);
		mycanvas = new Mycanvas();
	}
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub
		
	}
	protected void pauseApp() {
		// TODO Auto-generated method stub
		
	}
	protected void startApp() throws MIDletStateChangeException {
		// TODO Auto-generated method stub
		display.setCurrent(mycanvas);
	}
}
class Mycanvas extends Canvas {
	int xx,yy;
	private Display display;
	public Form f;
	public Mycanvas() {
		this.display = Point.display;
		f=new Form("测试");
	}
	public void paint(Graphics g) {}
	protected void pointerPressed(int x,int y)
	{
		System.out.println(x+"      "+y);
	
		f.append(x+"                          "+y);
		display.setCurrent(f);    //如果把这件话删了,这个坐标点就会动态显示,加了这就就只显示一次
	}
}
------解决方案--------------------你要换个思路:当在Canvas这点击时把坐标点保存起来,在显示Form的时候把保存起来的数据依次添加即可