创建使用触摸屏的Java 程序

创建使用触摸屏的Java 程序

ID:40787911

大小:44.58 KB

页数:5页

时间:2019-08-07

创建使用触摸屏的Java 程序_第1页
创建使用触摸屏的Java 程序_第2页
创建使用触摸屏的Java 程序_第3页
创建使用触摸屏的Java 程序_第4页
创建使用触摸屏的Java 程序_第5页
资源描述:

《创建使用触摸屏的Java 程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、创建使用触摸屏的JavaME程序杨建强摘要:介绍了Canvas类中可用于捕获触摸屏事件的方法,创建了一个类似于iPhone手机上的图片浏览程序。关键词:JavaME;Canvas1Canvas类   Canvas类位于javax.microedition.lcdui包中,它提供了低级屏幕和图像操作方法。该类自身是抽象类,使用的时候需要给出具体的实现。Canvas中最重要的方法是paint(Graphicsg),它完成图像的实际绘制。当然,在这里paint()方法并不是重点,感兴趣的是其他5个方法,它

2、们可用于创建使用触摸屏的JavaME程序。这些方法包括hasPointerEvents()、hasPointer-MotionEvents()、pointerDragged(intx,inty)、pointerPressed(intx,inty),以及pointerReleased(intx,inty)。这5个方法最初被用于处理具有指点能力的界面———也即用户能够使用指点设备与这样的界面交互。不过,在具有触摸功能的非指点设备上,这些方法工作得一样好。   当发生指点事件时,也即按下、释放和拖动指点设

3、备时,系统会分别调用pointerPressed(intx,inty)、pointerReleased(intx,inty)和pointerDragged(intx,inty)方法,此时,参数x、y中存有指点事件发生时指点所在的坐标。因此,可以利用这些方法获得指点所在的位置,并根据需要完成相应的操作。注意,系统对这些方法的调用是串行的,也即系统从不在前一个调用方法返回之前调用另一个方法。方法hasPointerEvents()检查设备是否支持指点按下和释放事件。当has-PointerEvents(

4、)返回true时,意味着设备支持pointerPressed(intx,inty)和pointerReleased(intx,inty)方法。方法has-PointerMotionEvents()检查设备是否支持指点移动事件。当hasPointerMotionEvents()返回true时,意味着设备支持pointerDragged(intx,inty)方法。2利用Canvas创建触摸屏图片浏览器   有了前面的基础,现在来创建一个类似于iPhone手机上的触摸屏图片浏览器。首先,让先看一下程序运行

5、时的屏幕截图,从而搞清楚要实现的效果是什么。如图1显示JavaME程序启动后加载的图片,以及稍微向左拖动或滑动该图片后的效果。 图1刚加载的图片(左)和向左稍微滑动之后的图片(右)    顺便说一下,使用JavaMESDK3.0作为测试平台,并选用DefaultFxTouchPhone1作为目标模拟器。因此,给出的屏幕截图来自于电脑上运行的模拟器。当然,在模拟器只能使用鼠标来代替手指。   选择的图片比屏幕的尺寸要宽一些,为的是创造出图片滚动的效果。在实际设备上,当手指在屏幕上左右滑动时,程序会根据

6、滑动的距离显示出当前图片的剩余部分,或者显示出前一幅或下一幅图片。图片刚加载时剩余部分位于屏幕右侧。程序是这样设置的,如果水平滑动的距离少有20个点(像素),将显示出当前图片的剩余部分。如果滑动的距离超过20个点,则显示前一幅或下一幅图片(分别对应向左、向右滑动),如图2所示。要达到的效果就是通过手指的滑动来逐个显示图片库中的图片。 图2刚加载的图片(左)和向左(或向右)滑动超过20个点之后的图片(右)    知道了想要的结果,现在来看一看完成上述任务的Canvas类的代码。publicclassB

7、rowseImageCanvasextendsCanvas{privatebooleanscroll=false;privateintcurrentImage=0;privateImage[]images;//存放多个图片,相当于图片库privateintpressX,releaseX,dragX=0;publicBrowseImageCanvas(){//启动时加载图片,这里加载3个图片images=newImage[3];images[0]=Image.createImage("/flower0

8、.jpg");images[1]=Image.createImage("/flower1.jpg");images[2]=Image.createImage("/flower2.jpg");}protectedvoidpaint(Graphicsg){g.setGrayScale(255);g.fillRect(0,0,getWidth(),getHeight());//清屏if(scroll){//滚动当前图片g.drawImage(images[currentIm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。