使用J2ME的MVC2開源框架KBOX

2021-08-29 13:00:11 字數 1610 閱讀 2417

kbox 是乙個mvc2模型的j2me開源框架,用於快速開發可擴充套件的j2me midp應用程式。

主頁:其結構如圖:

所有的可視元件都位於需要經由midlet來顯示,而midlet上的所有事件,包括鍵盤事件,按鈕事件提交到actioncontroller上, actioncontroller跟據配置檔案,將事件**給相應的action,action將處理結果得到的可視元件(displayable)通過 actionforward返回midlet顯示。

kbox的使用非常簡單, 以乙個hello world 為例:

建立乙個midlet:

public class testmidlet extends midlet…}

建立乙個canvas:

public class mykgamecanvas extends kgamecanvas

public void showstring(string string)

}建立相應的action:

public class testaction implements action

}將按鈕事件註冊給action:

debug=true //open the debug model of kbox

cmd.mycmd.action=action.testaction

注意這裡的mykgamecanvas 繼承的kgamecanvas,而不是gamecanvas。kbox的kgamecanvas類繼承自gamecanvas,當並沒有使用 gamecanvas那種使用執行緒監聽狀態的模型,而是重寫了keypressed等方法來處理鍵盤事件。另外,kgamecanvas的重寫的按鈕事件的處理已經實現了重複按鍵情況,而且可以指定重複按鍵的靈敏度,這點是非常好用的:)

kcommand是kbox擴充套件的按鈕元件。

kcommand kc = new kcommand("test button", command.help,1,"mycmd",null);

kbox的action是乙個只有execute方法的介面,任何類只要實現了該介面,都可以是乙個action。

註冊乙個鍵盤事件一樣很簡單:

public class testkeyaction implements action

}指定鍵盤事件的處理action

debug=true //open the debug model of kbox

cmd.mycmd.action=action.testaction

key.mygc.fire.action=action.testkeyaction…

kbox的另外乙個很實用的特性是debug model。

這個功能是用於在真機測試時,除錯bug用的。由於真機與模擬器不一定相同,當真機上丟擲異常(真機上的異常無法察覺,沒有控制台啊!),而模擬器又一切正常的時候,這個功能就有用了:kbox將捕獲到的異常的用乙個error page顯示出來。不過注意在發布jar包時,記得要去掉這個debug模式,否則沒事按到個沒定義的鍵盤按鍵都會捕獲到未定義按鍵處理的異常……

要開啟debug模式需要在配置檔案上指定debug=true。

如果覺得本文寫得還不錯,麻煩請點一下右上角的「頂」字頂一下 :d

log4j2me 開源的j2me日誌工具

原文 log4j2me是用於j2me平台上的log4j。當把你的 移到j2se j2ee平台上時,不需要對 進行改變,只需把log4j2me.jar替換掉log4jjar檔案。與log4j所不同的是不能在j2me環境中使用log4j.properties檔案來配置log4j,但可以從 jad檔案讀取...

EasyMF 簡易J2ME開發框架

easymf 簡易j2me開發框架 easymf easy mobile framework 目標 設計乙個簡單,穩定,可快速開發的j2me開發框架。一.說明 此框架的意圖是解決手機軟體開發中常遇到,並且可以通用話的問題。旨在提高無線應用程式的開發效率 二.easymf 能做什麼 1.簡化ui設計 ...

J2ME 關於移動的主頁推送對J2ME程式的影響

中國移動於5月17日推出費用提示頁面,其實早在5月15日測試j2me程式的時候就發現已經有頁面推送了。5月15日早上照常測試我的j2me聯網程式發現在模擬器一切正常,但是到了真機上卻得不到正確的資料,後來發現是第一次鏈結得到的資料流正是移動推送的頁面資料。經過試驗,其實得到第乙個頁面不用管它,繼續重...