将MIDlet和界面分离

虽然使用面向对象的思想进行J2ME的编程,会增加代码量(增加发布文件的大小)和提高代码的复杂性。但是为了代码的可维护性和可扩展性,现在绝大多数的程序还是将界面和逻辑分离开来,下面先说明一下如何将MIDlet主类和界面分离。

在界面和MIDlet中,需要交换的系统内容主要有两部分:1、Display对象;2、MIDlet中的退出处理。

示例代码如下:

package testmidlet;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TestMIDlet extends MIDlet {
private static TestMIDlet instance;
private LoginForm displayable ;
private Display display;
/** Constructor */
public TestMIDlet() {
instance = this;
display = Display.getDisplay(this);
displayable= new LoginForm(display);
}
/** Main method */
public void startApp() {
display .setCurrent(displayable);
}
/** Handle pausing the MIDlet */
public void pauseApp() {
}
/** Handle destroying the MIDlet */
public void destroyApp(boolean unconditional) {
}
/** Quit the MIDlet */
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
}
package testmidlet;
import javax.microedition.lcdui.*;
public class LoginForm extends Form implements CommandListener {  private Display display;
/** Constructor */
public LoginForm(Display display) {
super("Test");  this.display = display;
setCommandListener(this);
// add the Exit command
addCommand(new Command("Exit", Command.EXIT, 1));
}
/**Handle command events*/
public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
TestMIDlet.quitApp();
}
}
}

其中display对象可以通过构造方法进行传递,退出方法可以通过方法调用来执行.这样,你的代码就能实现MIDlet类和界面分离了.

时间: 2025-01-21 02:19:25

将MIDlet和界面分离的相关文章

J2ME学习(四)——将MIDlet和界面分离(比较基础)

比较 虽然使用面向对象的思想进行J2ME的编程,会增加代码量(增加发布文件的大小)和提高代码的复杂性.但是为了代码的可维护性和可扩展性,现在绝大多数的程序还是将界面和逻辑分离开来,下面先说明一下如何将MIDlet主类和界面分离. 在界面和MIDlet中,需要交换的系统内容主要有两部分:1.Display对象:2.MIDlet中的退出处理. 示例代码如下: package testmidlet; import javax.microedition.midlet.*; import javax.mi

关于通过vbs类处理模板实现代码与界面分离的程序,建议入精华备查。有演示

程序|精华|模板 文章标题:vbs类处理模板实现代码与界面分离'作者:yanek 'email:aspboy@263.net 本程序通过vbs类处理模板实现代码与界面分离的程序,主要有下面文件组成index.asp,parse_cls.asp,template.html下面是代码 1.index.asp 调用vbs类处理模板 <%'作者:yanek 'email:aspboy@263.net '---  ---' index.asp'------  ----' (c)2000 James Q.

ASP网页模板的应用: 让程序和界面分离,让ASP脚本更清晰,更换界面更容易

程序|脚本|模板|网页 为了避免ASP程序和HTML代码混写造成维护困难的情况,本文介绍了一种方法,利用模板来分离程序和页面,使程序设计更加轻松. 在使用ASP制作一个站点的时候,常常会出现一个ASP文件中,程序代码和HTML代码混合的情况.这样子做有许多缺点: 1. 且不说编程时就要对页面布局进行设计和编排,造成代码混乱难懂,不规范: 2. 当需要改变页面外观时,你不仅要改变HTML部份,也需要改变ASP代码,不易维护. 那么,要如何才能避免这些麻烦呢? 答案就是使用模板文件,将ASP代码和H

界面与数据分离的示例

前几天,看到叶小钗同学的<一次面试回顾--探讨表现与数据分离> ,并且发表自己的见解.他说的"表现",在我的文章表述为界面,我认为: 1.界面与数据的分离,必须体现在代码上,界面的代码归界面的代码,数据的代码归数据的代码,两者必须泾渭分明. 2.当界面需求发生改变,只需要改写界面的代码,并且所改写的代码不能影响到数据访问的代码. 只有做到这两者才算界面与数据分离.叶小钗同学让我上代码,趁今天还不是很忙,写下了下面的代码: <!DOCTYPE html> <

flash开发中如何实现界面代码分离

"flash开发"发展到今天,大体上已经细分为二个分支:Flash 设计师 和 Flash程序员,然而设计师不懂代码,程序员不懂设计,如何把这二种角色有机结合起来,实现代码.界面分离?可能下面的办法对你有用:   actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行),这意味着设计师们可以把一些常用的与代码无关的素材(比如按钮,图片,小动画),以他们喜欢的方式,用Flash CS工具设计好放到库中.   然后程序员把这类包含(

常见MFC UI界面库

Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的. The Ultimate Toolbox   http://www.codeproject.com/KB/MFC/UltimateToolbox.aspx GuiToolkit(开源,mfc扩展框架,类似Visual Studio 2003风格)h

VC 常用插件和界面库

VC 常用插件 1.Visual Assist(强烈推荐)[url]http://www.wholetomato.com/[/url] VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在 WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件.类和变量. 2.WndTabs(强烈推荐)[url]http://www.wndtabs.com/[/u

javascript模板引擎artTemplate的特性实现

文章简介:本文将用最简单的示例代码描述现有的 javascript 模板引擎的原理,包括新一代 javascript 模板引擎 artTemplate 的特性实现原理,欢迎共同探讨. 随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时 javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来.javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,近一年来在

在Eclipse中创建新的重构功能

创建 对重构的强大支持是软件开发人员喜爱Eclipse的一个最为重要的原因.而Eclipse还有一个至少和重构不相上下的优点,那就是其近乎无懈可击的可扩展性.这两者的结合意味着我们可以根据自己的需要来创建展新的重构功能. 介绍 重构在现代软件开发过程中扮演着重要的角色,它能够减轻软件开发人员的工作负担,提高软件开发的生产效率.为了阐明重构的重要性,我们在这里引用了developerWorks上David Carew提供的关于重构的教程中的一段话: 现在,一个开发者的工作大部分在于对现有的代码进行