System.out.println(this.hasPointerEvents()); //模拟器是否支持触点事件
一般的没有经过配置的模拟器均输出为:false
按照如下路径:
WTK2.5.2_01/wtklib/devices/DefaultColorPhone
打开:
DefaultColorPhone.properties
找到touch_screen属性修改为:
touch_screen=true
测试代码:
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Graphics; public class MyCanvas extends Canvas{ public MyCanvas(){ //System.out.println(this.hasPointerEvents()); //模拟器是否支持触点事件 this.setFullScreenMode(true); } protected void paint(Graphics arg0) { } protected void pointerPressed(int x,int y){ System.out.println(this.getHeight()); System.out.println(this.getWidth()); System.out.println("press ("+x+","+y+")"); // 打印触点坐标 } }
import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class Main extends MIDlet { public static Main main; private Display display; public Main() { // TODO Auto-generated constructor stub main = this; display = Display.getDisplay(this); } 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(new MyCanvas()); //System.out .println("start app.........................."); } }