使用J2ME技术实现手机触摸屏开发的方法:
首先的修改调试环境,默认情况下是不支持触摸操作的。
在WTK目录下的\WTK\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties的文件中的:
touch_screen=false,改成true。
即支持触摸屏开发。
MIDP2.0对于触摸屏方法有三个:
1.pointerDragged(int x, int y) 触摸屏拖拽事件;
2.pointerPressed(int x, int y) 触摸屏按压;
3.pointerReleased(int x, int y) 触摸屏释放;
pointerPressed(int x, int y)当用户按下触摸屏的时候会自动调用这个方法,x,y就是当前触摸的坐标;
pointerReleased(int x, int y)当用户按下释放触摸屏的时候会自动调用这个方法,x,y就是当前释放的坐标。
pointerDragged(int x, int y) 触摸屏拖拽触发的事件;
先给出简单的测试代码(仅有pointerPressed(int,int)):
首先MIDlet:
Java代码
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MyMidlet extends MIDlet {
public MyMidlet() {
}
protected void destroyApp(boolean flag) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(new TestPointCanvas());
}
}
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MyMidlet extends MIDlet {
public MyMidlet() {
}
protected void destroyApp(boolean flag) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(new TestPointCanvas());
}
}再次Canvas:
Java代码
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class TestPointCanvas extends Canvas {
private static int rx, ry;
protected void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, 240, 320);
g.setColor(0, 0, 0);
g.drawString("This is a touch test!", 60, 100, 20);
g.drawString("left:" + rx, 20, 260, 20);
g.drawString("right:" + ry, 180, 260, 20);
}
protected void pointerPressed(int x, int y) {
if (x < 40 && y > 240) {
doCommandL();
}
if (x > 200 && y > 240) {
doCommandR();
}
repaint();
}
protected void keyPressed(int key) {
if (key == -6) {
doCommandL();
}
if (key == -7) {
doCommandR();
}
repaint();
}
private void doCommandL() {
rx++;
}
private void doCommandR() {
ry++;
}
}
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class TestPointCanvas extends Canvas {
private static int rx, ry;
protected void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, 240, 320);
g.setColor(0, 0, 0);
g.drawString("This is a touch test!", 60, 100, 20);
g.drawString("left:" + rx, 20, 260, 20);
g.drawString("right:" + ry, 180, 260, 20);
}
protected void pointerPressed(int x, int y) {
if (x < 40 && y > 240) {
doCommandL();
}
if (x > 200 && y > 240) {
doCommandR();
}
repaint();
}
protected void keyPressed(int key) {
if (key == -6) {
doCommandL();
}
if (key == -7) {
doCommandR();
}
repaint();
}
private void doCommandL() {
rx++;
}
private void doCommandR() {
ry++;
}
}OK,现在很简单吧。
深入了解了解。
分享到:
相关推荐
随着触摸屏设备的普及,将HTML和CSS应用于触摸屏程序开发变得越来越常见。本文将深入探讨如何利用这两种技术制作触摸屏程序。 首先,理解HTML的基础至关重要。HTML是一种标记语言,它定义了网页的结构和内容。通过...
"3543触摸屏示例程序源代码"是一个针对特定型号触摸屏的开发资源,旨在帮助开发者理解和实现触摸屏的交互功能。这个压缩包包含了两个关键文件:3543触摸屏源程序.c和3543.doc。 3543触摸屏源程序.c是C语言编写的源...
- **手持设备**:如智能手机和平板电脑,触摸屏是主要的输入设备。 - **多媒体设备**:例如iPod等个人多媒体播放器,触摸屏提供了直观的用户界面。 - **工业控制系统**:触摸屏简化了操作,提高了人机交互的...
触摸屏程序是一种交互式软件应用,通常用于公共信息查询、教育、商业展示等多种场景。在本案例中,我们讨论的是一款简单的旅游触摸屏程序,它设计的目的主要是为了学习和交流,不涉及复杂的商业功能。 首先,我们要...
触摸屏程序用的全屏浏览器是一种专为触摸设备设计的应用软件,它主要目的是提供一个无边框、无菜单栏和工具栏的浏览环境,让用户能够更直观、更方便地通过手指触控操作网页。这样的浏览器通常会优化触摸交互,比如...
二、Linux下的驱动程序开发 在Linux系统中,驱动程序通常作为内核模块实现,遵循Linux设备模型。GT911的驱动程序需实现以下功能: 1. 初始化和配置:驱动程序在加载时,会初始化I2C或SPI接口,并设置控制器的工作...
汇顶科技是一家知名的全球领先的智能人机交互技术解决方案提供商,其触摸屏产品广泛应用于手机、平板电脑等移动设备。 驱动程序在计算机硬件和操作系统之间起着桥梁的作用,它允许操作系统识别并控制硬件设备。在这...
触摸屏技术在现代数字设备中扮演着至关重要的角色,尤其是随着智能手机和平板电脑的普及,触摸屏已经成为我们日常生活中不可或缺的一部分。"触摸屏浏览器下载,模拟触摸屏"这个标题所指的,是一款专为触摸屏设备设计...
总的来说,S3C2440触摸屏程序开发涉及到多个层面,包括硬件接口的编程、中断处理、用户交互、以及对硬件特性的校正。理解和熟练掌握这些知识点对于开发高效、准确的触摸屏系统至关重要。同时,开发者还需要关注电源...
总之,基于ARM嵌入式系统的触摸屏驱动程序开发是一项综合性的任务,涉及硬件接口、操作系统内核、驱动模型等多个层面。通过对这些知识点的深入理解和实践,开发者可以为各种嵌入式设备构建高效、可靠的触摸交互体验...
电阻触摸屏技术是一种常见的输入设备技术,广泛应用于各种电子设备,如智能手机、平板电脑和工业控制设备等。这种技术依赖于触控笔或用户手指对屏幕施加的压力来感知触控位置。驱动程序是使硬件设备与操作系统通信的...
标题《硬件开发技术之触摸屏的详细介绍》中提到的知识点涵盖了触摸屏的定义、分类、工作原理以及在硬件开发中的应用。触摸屏,也称触控面板,其核心功能是将用户触摸的位置转换为电子设备能够识别的坐标数据。其分类...
【ii3920触摸控制器】ii3920是一款高性能的电容式触摸屏控制器,能够支持多点触控,常用于智能手机、平板电脑以及工业应用。它通过I2C或SPI接口与主控器(如STM32)通信,传输触控事件和屏幕状态信息。 【驱动程序...
触摸屏已经成为了现代设备用户界面不可或缺的一部分,从智能手机到平板电脑,再到智能家电,无处不在。理解其底层驱动代码对于任何希望深入触摸屏技术的开发者来说至关重要。 首先,我们要明白触摸屏的工作原理。...
本文将详细探讨如何在UCOS环境下为S3C2410微处理器编写触摸屏驱动程序,以及如何实现图形和图片的显示。 首先,我们要了解触摸屏驱动的基本原理。触摸屏驱动是硬件层与操作系统之间的桥梁,负责将触摸屏采集到的...
触摸屏技术在现代电子设备中已经非常普遍,尤其是在智能手机、平板电脑和其他移动设备上。而“触摸屏的屏幕键盘模拟例程”是一个针对Windows 2000操作系统,并且使用Visual C++ 6.0开发的项目,它旨在提供一个在触摸...
1. 不修改快速包的情况下,尽量让程序在具有不同触摸屏事件定义的手机上都能正常运行。 2. 对于不同版本的触摸屏事件参数,注意处理额外信息,如双击检测,避免因版本差异导致问题。 3. 处理中断返回时可能丢失UP...
本文主要探讨了基于1T单片机STC12C5A60S2的4.3英寸触摸彩屏应用程序的开发,深入分析了硬件构建和软件开发的全过程,旨在通过此研究为类似触摸屏系统的开发提供理论基础和实践经验。 在研究的开始部分,论文明确了...
其中,电容式触摸屏由于其高灵敏度和多点触控功能,在智能手机和平板电脑等领域广泛应用。 二、Linux驱动程序概览 在Linux系统中,驱动程序是一段运行在内核空间的代码,负责与硬件进行通信并提供抽象接口给用户...