<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    路是爬出來的

    設計可組裝的j2me UI(四) 時間控件

           開放過項目的人都知道。用戶的需求是時刻變化的。我們要做到的只是不斷的去適應這種變化。因為給錢的是人家。

           今天這篇文章讓我們來學習怎么樣設計一個可以在j2me低級UI上顯示的時鐘。經過前面幾篇文章相信大家都知道我的UI設計思路了。我們現(xiàn)在要做的就是設計一個Part(這個是什么來的,呵呵。如果沒看過我前面文章的朋友們,建議你們先讀下,我想會有好處的。^_^)。

          我的控件思路是這樣的。首先在整個屏幕中拿出一小塊出來。然后在這一小塊里面繪制顯示時間(時間可以是純文字,也可以是圖片等),然后我們實現(xiàn)Runnable接口,讓它沒秒鐘都刷新一下那一小塊屏幕。是不是很簡單呢。呵呵。下面讓我們來看下具體代碼吧

    java 代碼


     


    1. /******************************************************************** 

    2.  * 

    3.  * 版權說明,此程序僅供學習參考。不能用于商業(yè) 

    4.  * 

    5.  ********************************************************************/  

    6. package org.pook.ui;  

    7.   

    8. import java.util.TimerTask;  

    9.   

    10. import javax.microedition.lcdui.Display;  

    11. import javax.microedition.lcdui.Displayable;  

    12. import javax.microedition.lcdui.Graphics;  

    13.   

    14. import org.pook.file.BookFileManager;  

    15. import org.pook.log.Log;  

    16. import org.pook.ui.core.Platform;  

    17. import org.pook.ui.form.Panel;  

    18. import org.pook.ui.timer.TimerTaskManager;  

    19. import org.pook.ui.util.GraphicsUtil;  

    20. import org.pook.util.DateTime;  

    21.   

    22. /** 

    23.  * 類名:TimerPart.java 

    24.  

    25.  * 編寫日期: 2006-9-29 

    26.  

    27.  * 程序功能描述?? 

    28.  

    29.  * Demo: 

    30.  

    31.  * Bug: 

    32.  

    33.  * 

    34.  * 程序變更日期 

    35.  

    36.  * 變更作??? 

    37.  

    38.  * 變更說明 

    39.  

    40.  * 

    41.  * @author wuhua 

    42. rrq12345@163.com 

    43.  */  

    44. public class TimerPart extends Part implements Runnable{  

    45.   

    46.     Log log = Log.getLog("TimerPart");  

    47.      

    48.     /** 時間顯示字段     */  

    49.     private static int hour ;  

    50.     private static int minute;  

    51.     private static int second;  

    52.      

    53.     private static String time;  

    54.      

    55.     /** 用于執(zhí)行消失窗口 */  

    56.     protected TimerTask task;  

    57.      

    58.     /** 獲取系統(tǒng)時間 **/  

    59.     private DateTime dt;  

    60.      

    61.      

    62.      

    63.     private Display display;  

    64.     private Displayable displayable;  

    65.   

    66.     private String h;  

    67.   

    68.     private String m;  

    69.   

    70.     private String s;  

    71.      

    72.     public TimerPart(Display display) {  

    73.         super(Platform.WIDTH - 4504520);  

    74.         dt = new DateTime();  

    75.         hour = dt.hour ;  

    76.         minute = dt.minute ;  

    77.         second = dt.second ;  

    78.    

    79.          time = hour + ":" + minute + ":" + second;  

    80.            

    81.        

    82.         task = TimerTaskManager.getInstace().add(this1000);  

    83.         this.display = display;  

    84.     }  

    85.   

    86.     public void paint(Graphics g) {  

    87.         g.setColor(0x00000);  

    88.         g.drawString(time.toString(), view[X], view[Y], Graphics.TOP |  

    89.                 Graphics.LEFT);  

    90.     //    GraphicsUtil.darwString(g,new Boolean(BookFileManager.available()).toString(), view[X], view[Y]);  

    91.   

    92.     }  

    93.   

    94.     public void onClick(int keyCode) {  

    95.        

    96.     }  

    97.   

    98.     /** 

    99.      * 刷新時間的方法,每隔1秒鐘刷新???? 

    100.      */  

    101.     public void run() {  

    102.            

    103.          

    104.         //更新時間  

    105.          updateTime();  

    106.          repaintTime();  

    107.          

    108.     }  

    109.      

    110.     /** 

    111.      * 這里本不應該與程序又任何關聯(lián)的???但考慮到?????? 

    112.      * ??以就先這樣先 

    113.      * 

    114.      */  

    115.     private void repaintTime() {  

    116.         if(display == null)  

    117.             return;  

    118.         displayable = display.getCurrent();  

    119.         if(displayable instanceof Panel){  

    120.             Panel panel = (Panel)displayable;  

    121.             panel.repaintTimer();  

    122.         }  

    123.     }  

    124.   

    125.     /** 

    126.      * 更新時間,頻率是1?? 

    127.      * 

    128.      */  

    129.     private void updateTime() {  

    130.         second ++ ;  

    131.         if(second == 60){  

    132.             second = 0;  

    133.             minute ++ ;  

    134.         }  

    135.          

    136.         if(minute == 60){  

    137.             minute = 0;  

    138.             hour ++ ;  

    139.         }  

    140.          

    141.         if(hour == 24 && minute == 0){  

    142.             hour = 00;  

    143.         }  

    144.          

    145.         h =   hour<10?("0"+hour):hour + "" ;  

    146.         m =    minute<10?("0"+minute):minute + "";  

    147.         s =   second<10?("0"+second):second + "";  

    148.          

    149.         time = h + ":" + m + ":" + s;  

    150.     }  

    151.   

    152.   

    153.   

    154.   

    155. }  







    具體的詳細例子在: 手機電子書閱讀軟件基本框架  wuhua.javaeye.com/admin/show/28821

    看看這圖片:

    posted on 2006-12-30 09:24 路是爬出來的 閱讀(455) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产特黄特色的大片观看免费视频| 国产亚洲综合一区二区三区| 成人A片产无码免费视频在线观看| 国产精品无码一二区免费| 亚洲砖码砖专无区2023| 日韩av无码成人无码免费| 久久亚洲国产成人影院| 日韩激情淫片免费看| 特级aaaaaaaaa毛片免费视频| 在线观看亚洲免费视频| 污污污视频在线免费观看| 国产精品亚洲玖玖玖在线观看| aa级女人大片喷水视频免费| 亚洲AV无码精品色午夜在线观看| 久久大香伊焦在人线免费| 亚洲综合亚洲国产尤物| 免费下载成人电影| 亚洲人AV在线无码影院观看| 哒哒哒免费视频观看在线www| 男女啪啪免费体验区| 亚洲国产精品无码久久一线| 777爽死你无码免费看一二区| 亚洲乱人伦精品图片| 国产又大又粗又硬又长免费 | 亚洲粉嫩美白在线| 国产精品jizz在线观看免费| a级毛片免费网站| 亚洲高清在线mv| 国产一区二区三区免费在线观看| 亚洲高清免费视频| 亚洲第一页中文字幕| 四虎免费影院4hu永久免费| 最近更新免费中文字幕大全| 亚洲日本乱码一区二区在线二产线 | 国产精品视频免费观看| 亚洲无人区码一二三码区别图片 | 日韩激情无码免费毛片| 免费久久人人爽人人爽av| 亚洲一卡2卡4卡5卡6卡在线99 | 色拍自拍亚洲综合图区| 韩国免费三片在线视频|