wtk 开启触屏功能

    技术2022-05-19  24

     

    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.........................."); } }


    最新回复(0)