欧美群妇大交群的观看方式_久久机这里只有精品_国产suv精品一区_美国一区二区_欧洲乱码伦视频免费_日韩精品一级二级_另类综合日韩欧美亚洲_黑人巨大精品欧美黑白配亚洲

創建使用觸摸屏的Java ME 程序

作者: TouchScreen     時間:2012-05-02     源于:中國觸摸屏網    總點擊:
【導讀】:介紹了Canvas 類中的能夠捕獲觸摸屏上指點運動的接口,并以一個類似于iPhone 手機上的圖片瀏覽程序來演示其使用方法。希望能夠起到拋磚引玉的作用, 啟發讀者寫出更加實用的觸摸屏Java 程序。

創建使用觸摸屏的Java ME 程序
楊建強

摘要: 介紹了Canvas 類中可用于捕獲觸摸屏事件的方法, 創建了一個類似于iPhone 手機上的圖片瀏覽程序。

關鍵詞: Java ME; Canvas

1 Canvas 類

    Canvas 類位于javax.microedition.lcdui 包中, 它提供了低級屏幕和圖像操作方法。該類自身是抽象類, 使用的時候需要給出具體的實現。Canvas 中最重要的方法是paint (Graphics g),它完成圖像的實際繪制。當然, 在這里paint () 方法并不是重點, 感興趣的是其他5 個方法, 它們可用于創建使用觸摸屏的Java ME 程序。這些方法包括hasPointerEvents ()、hasPointer-MotionEvents ( ) 、pointerDragged ( int x, int y) 、pointerPressed(int x, int y), 以及pointerReleased (int x, int y)。這5 個方法最初被用于處理具有指點能力的界面———也即用戶能夠使用指點設備與這樣的界面交互。不過, 在具有觸摸功能的非指點設備上, 這些方法工作得一樣好。

    當發生指點事件時, 也即按下、釋放和拖動指點設備時,系統會分別調用pointerPressed (int x, int y) 、pointerReleased(int x, int y) 和pointerDragged (int x, int y) 方法, 此時, 參數x、y 中存有指點事件發生時指點所在的坐標。因此, 可以利用這些方法獲得指點所在的位置, 并根據需要完成相應的操作。注意, 系統對這些方法的調用是串行的, 也即系統從不在前一個調用方法返回之前調用另一個方法。方法hasPointerEvents() 檢查設備是否支持指點按下和釋放事件。當has-PointerEvents () 返回true 時, 意味著設備支持pointerPressed(int x, int y) 和pointerReleased (int x, int y) 方法。方法has-PointerMotionEvents () 檢查設備是否支持指點移動事件。當hasPointerMotionEvents () 返回true 時, 意味著設備支持pointerDragged(int x, int y) 方法。

2 利用Canvas 創建觸摸屏圖片瀏覽器

    有了前面的基礎, 現在來創建一個類似于iPhone 手機上的觸摸屏圖片瀏覽器。首先, 讓先看一下程序運行時的屏幕截圖, 從而搞清楚要實現的效果是什么。如圖1 顯示Java ME程序啟動后加載的圖片, 以及稍微向左拖動或滑動該圖片后的效果。

 

圖1 剛加載的圖片(左) 和向左稍微滑動之后的圖片(右)
圖1 剛加載的圖片(左) 和向左稍微滑動之后的圖片(右)
 

    順便說一下, 使用Java ME SDK 3.0 作為測試平臺, 并選用DefaultFxTouchPhone1 作為目標模擬器。因此, 給出的屏幕截圖來自于電腦上運行的模擬器。當然, 在模擬器只能使用鼠標來代替手指。

    選擇的圖片比屏幕的尺寸要寬一些, 為的是創造出圖片滾動的效果。在實際設備上, 當手指在屏幕上左右滑動時, 程序會根據滑動的距離顯示出當前圖片的剩余部分, 或者顯示出前一幅或下一幅圖片。圖片剛加載時剩余部分位于屏幕右側。程序是這樣設置的, 如果水平滑動的距離少有20 個點(像素),將顯示出當前圖片的剩余部分。如果滑動的距離超過20 個點,則顯示前一幅或下一幅圖片(分別對應向左、向右滑動), 如圖2 所示。要達到的效果就是通過手指的滑動來逐個顯示圖片庫中的圖片。

 

圖2 剛加載的圖片(左) 和向左(或向右)滑動超過20 個點之后的圖片(右)
圖2 剛加載的圖片(左) 和向左(或向右)滑動超過20 個點之后的圖片(右)
 

    知道了想要的結果, 現在來看一看完成上述任務的Canvas類的代碼。

public class BrowseImageCanvas extends Canvas {
private boolean scroll = false;
private int currentImage = 0;
private Image[] images; // 存放多個圖片,相當于圖片庫
private int pressX, releaseX, dragX = 0;
public BrowseImageCanvas() {
// 啟動時加載圖片,這里加載3 個圖片
images = new Image[3];
images[0] = Image.createImage("/flower0.jpg");
images[1] = Image.createImage("/flower1.jpg");
images[2] = Image.createImage("/flower2.jpg");
}
protected void paint(Graphics g) {
g.setGrayScale(255);
g.fillRect(0, 0, getWidth(), getHeight()); // 清屏
if (scroll) { // 滾動當前圖片
g.drawImage(images[currentImage], -dragX, 0,
Graphics.LEFT | Graphics.TOP);
scroll = false;
return;
}
if (pressX < releaseX) { // 向右滑動,顯示下一幅圖片
currentImage++;
if (currentImage == images.length) currentImage = 0;
}
if (pressX > releaseX) { // 向左滑動,顯示前一幅圖片
currentImage--;
if (currentImage < 0) currentImage = (images.length - 1);
}
// 繪制新的圖片
g.drawImage (images [currentImage], 0, 0, Graphics.
LEFT | Graphics.TOP);
}
protected void pointerPressed(int x, int y) { // 記下
//開始觸摸的水平位置
pressX = x;
}
// 記下觸摸釋放的水平位置,判斷滑動的距離決定是否加
//載新圖片
protected void pointerReleased(int x, int y) {
if (scroll) return;
releaseX = x;
if (Math.abs(releaseX - pressX) > 20) { // 滑動距離超
//過20 個點加載新圖片
repaint();
}
}
protected void pointerDragged(int x, int y) { //在這里
//決定是否滾動圖片
int deltaX = pressX - x;
if (Math.abs(deltaX) <= 20) { // 滑動距離少于20 個點
//滾動當前圖片
int imageWidth = images[currentImage].getWidth();
if (imageWidth > getWidth()) {
dragX += deltaX;
if (dragX < 0) dragX = 0;
else if (dragX + getWidth() > imageWidth) dragX
= imageWidth - getWidth();
}
scroll = true;
repaint();
}
}
}

    程序中, pointerPressed ( ) 、pointerReleased ( ) 、pointer-Dragged () 方法設置各種參數, paint () 利用這些參數來決定是否滾動當前圖片或顯示新圖片。在pointerPressed () 方法中,保存了用戶觸摸位置的x 軸坐標, 然后, 在pointerReleased ()和pointerDragged () 方法中確定用戶手指沿水平方向移動的距離大小(deltaX)。如果移動超過20 點, 則顯示新圖片, 否則就沿x 軸方向卷動圖片。可以左右兩個方向移動。當然, 為了簡化問題, 程序忽略了沿y 軸方向的移動。

3 結語

    自Java ME 誕生以來, 它就已經具備了滿足觸摸屏界面的能力, 只是那些提供Java ME 實現的設備制造商沒有跟上步伐。介紹了Canvas 類中的能夠捕獲觸摸屏上指點運動的接口,并以一個類似于iPhone 手機上的圖片瀏覽程序來演示其使用方法。希望能夠起到拋磚引玉的作用, 啟發讀者寫出更加實用的觸摸屏Java 程序。


相關閱讀:3D打印    模具產業    微鑄鍛技術    石墨烯    OLED面板    夏普    iPhone 8    半導體    蘋果    
關于我們 | 廣告服務 | 聯系我們 | 版權聲明 | 隱私政策 | 網站地圖 | 友情鏈接 | 歡迎投稿 | 加入收藏 | 意見反饋 | 經銷商加入
網站廣告、經銷商加盟、觸摸屏軟件銷售: 028-85108892 13183843395 028-66219290 聯系人: 張小姐 產品購買聯系方式如下:
地址:成都市高升橋東路2號高盛中心1109室 電話: 028-85108892 13183843395 028-66219290
版權所有 Copyright(C) 2003-2015 All rights reserved 中國觸摸屏網 電子郵件: 51touch@126.com touch8@gmail.com
業務合作QQ:觸摸屏技術,觸摸屏報價,觸摸屏軟件咨詢 43361182 觸摸屏軟件制作與技術支持:觸摸屏軟件,觸摸查詢系統,觸摸查詢軟件 893008608 媒體合作QQ: 893008608

2000人超級QQ觸摸屏群:59897879 171220106


分享到
国产成人av电影在线| 欧美日韩一卡二卡| 综合久久一区二区三区| 欧美中文一区| 一区二区导航| 91精品啪在线观看国产81旧版| 亚洲精品少妇30p| 尤物在线视频| 99国产一区二区三精品乱码| 涩涩av在线| 群体交乱之放荡娇妻一区二区| 极品一区美女高清| 欧美一区二区性放荡片| 婷婷久久综合九色国产成人 | 国产无遮挡一区二区三区毛片日本| 91精品一区二区三区久久久久久 | 黄色av资源| 国产不卡网站| 国产电影精品久久禁18| 成年人视频免费看| 成人精品毛片| 亚洲尤物视频在线| 婷婷在线视频观看| 中文字幕人成人乱码| 欧美日韩国产在线播放| av在线官网| 国产黄人亚洲片| 又黄又爽的视频在线观看| 农村少妇一区二区三区四区五区 | 伊人久久大香线蕉av超碰| 久久美女艺术照精彩视频福利播放| 情se视频网在线观看| 日韩大尺度在线观看| 狠狠色狠狠色综合| 在线看国产一区| 国产在线1区| 国产激情精品久久久第一区二区| 青青草视频免费在线观看| 日产精品一区| 亚洲性视频在线| 久久一区中文字幕| 色综合久久66| h片在线观看| 久久精品久久99精品久久| 欧美精品久久久久久久多人混战 | 亚洲第一视频在线观看| 免费欧美激情| 欧美日韩国产片| 伊人久久大香线蕉| 欧美日韩国内自拍| 亚洲一区 二区| 亚洲va欧美va天堂v国产综合| 国产精品粉嫩| 国产视频一区二区在线| 二区在线播放| 中文在线一区二区| 成人bbav| 亚洲精品久久久蜜桃| 涩涩涩久久久成人精品 | 欧美大片免费| 91在线观看视频| 成人午夜在线观看视频| 日本美女视频一区二区| 欧美精品1区2区3区| 成人18视频在线观看| 久久久久久99精品| 黄色片网站在线| 91视频免费看| 九一亚洲精品| 国产精品毛片大码女人| 波多野结衣精品| 欧美国产激情一区二区三区蜜月| 91精品久久| 91蜜桃传媒精品久久久一区二区| 国产网友自拍视频导航网站在线观看 | 爽爽淫人综合网网站| 亚洲欧美在线免费| 黄色av资源| 麻豆成人av在线| 久久夜色精品国产噜噜av | 精品美女视频| 嫩草影院永久入口| 99九九99九九九视频精品| 日本午夜大片a在线观看| 欧美日韩一区三区四区| 性欧美xxxx大乳国产app| 日韩成人伦理| 7878成人国产在线观看| 美国av一区二区| av高清不卡| 制服丝袜在线91| 奇米影视在线99精品| 欧美日韩亚洲国产| 亚洲成成品网站| 国产精品自拍毛片| av片在线观看免费| 在线亚洲人成电影网站色www| 五月久久久综合一区二区小说| 国产亚洲综合性久久久影院| 风间由美一区二区av101| 亚洲国产日韩欧美综合久久| 一区二区高清| 国内精品久久久久国产| 精品久久久国产| 成人精品免费网站| 榴莲视频成人app| 一区二区三区影院| 视频一区中文字幕精品| 日韩成人在线电影网| 99视频精品在线| 欧美精品中文| 国产福利电影在线| 欧美日韩精品在线播放| 免费人成黄页网站在线一区二区| missav|免费高清av在线看| 亚洲激情自拍图| 亚洲一区二区三区影院| 狠狠色丁香婷婷综合久久片| 亚洲警察之高压线| 伊人成综合网站| 女人高潮特级毛片| 51久久夜色精品国产麻豆| 91伊人久久大香线蕉| 国产精品日韩| 一本久久青青| 亚洲欧洲自拍| 亚洲精品一区二区精华| 亚洲宅男天堂在线观看无病毒| 日韩精品福利| 91麻豆精品国产| 日韩精品在线免费观看| 毛片av中文字幕一区二区| 成人黄色小视频| 国语一区二区三区| 农村少妇一区二区三区四区五区| 爱情岛亚洲播放路线| 丰满大乳少妇在线观看网站| 两个人看的在线视频www| 国产www视频在线观看| 黄视频在线免费看| h片精品在线观看| 在线免费av资源| 九九九伊在线综合永久| 亚洲羞羞网站| 国偷自产一区二区免费视频 | 青青青手机在线视频观看| 日韩精品在线第一页| 日韩风俗一区 二区| 日韩午夜精品电影| 欧美日韩国产三级| 亚洲电影中文字幕| 亚洲欧洲一区二区三区久久| 亚洲欧美国产另类| 一二三区高清| 天天影院图片亚洲| av免费在线观| 午夜精品久久久久久久久久蜜桃| 日韩大陆av| 西野翔中文久久精品国产| 欧美h版在线观看| 日韩激情综合| 欧美777四色影| 午夜在线一区| 视频一区二区欧美| 精品午夜久久福利影院| 亚洲精品一级| 欧美精品观看| 国产欧美69| 老司机一区二区三区| 99亚洲一区二区| 欧美天堂亚洲电影院在线观看| va亚洲va日韩不卡在线观看| 欧美另类变人与禽xxxxx| 伊人在我在线看导航| 日韩精品久久久久久久电影99爱| 成人爱爱电影网址| 欧美性猛交xxxxx水多| 欧美三级在线看| 亚洲人永久免费| 中文在线手机av| 成人久久网站| 污污的视频在线观看| 9i精品一二三区| 中出在线观看| 午夜在线免费观看视频| 免费在线超碰| 在线视频婷婷| gogo在线观看| 久久亚洲国产精品尤物| 超级白嫩亚洲国产第一| 国产原创在线观看| 91社区在线高清| 欧美18—19sex性hd| 成人在线超碰| 国产日韩欧美一区在线| 成人av电影在线网| 亚洲第一激情av| 亚洲免费福利视频| 老牛影视精品| 婷婷久久综合|