使用NetBeans进行J2ME开发(一):别让程序员的手机闲着

使用NetBeans开发J2ME应用程序 立即下载
我们是程序员,我们没有各种各样的应酬,电脑和网络就是我们的整个世界。上班之余,我们该如何自娱自乐呢?想一想我们每天别在裤腰带上的手机,再想一想我们已经非常熟悉Java,那么,我们为什么不写几个J2ME的手机程序玩玩呢?

  首先,我们需要搭建一个开发环境。Eclipse和NetBeans都是好选择。我这里选择的是NetBeans 5.5.1加Mobile Pack 5.5.1, 它们的下载地址如下图:
    01.PNG
  
  点击上面的Download NetBeans IDE按钮,就可以进入到详细的下载页面,如下图,这里,我们只需要NetBeans和MobilePack,其它的我们用不到。

  02.PNG

  下载完成后,运行安装程序,安装完后,运行NetBeans IDE,如下图:

  03.PNG

   本来以为,NetBeans IDE的界面是使用Swing编写的,肯定漂亮不起来。现在一看,以前的偏见都没有了,这个界面的确很漂亮,看来SUN再超越Eclipse方面的确下了 不少功夫。在这个启动界面中,我们甚至可以访问NetBeans星球中的博客,确实令人耳目一新。此外,从NetBeans IDE的菜单来看,似乎功能比Eclipse要多,看来以后还得好好探索才行啊。至于NetBeans速度慢的问题,我再也不需担心,因为我刚配置了一个 双核CPU加4G内存的台式机。这也正是为什么我直到现在才涉足NetBeans的原因。

  废话少说,下面来看看怎么编写手机程序吧。

  首先,新建项目,在类别中选Mobile,在项目中选“Mobile应用程序”,如下图:
  04.PNG

  点下一步,在这里输入项目的名称和保存项目的位置,注意这里,我们取消了“创建Hello MIDlet”前面的选择,如下图:
  05.PNG

  在点下一步,在下面的对话框中选择CLDC和MIDP的版本,如下图:
  06.PNG

   在这里,肯定有人要问:“什么是CLDC?什么MIDP呢?”这是两个规范。CLDC(连接受限设备配置)定义了我们的手机应该提供什么样的虚拟机和什 么样的核心Java类库,比如我们下面的程序中用到的java.lang.String类,java.io.ByteArrayOutputStream 类等等。那么为什么要选择CLDC1.0而不是1.1呢?那就要看你的手机了,我的Nokia手机就只支持CLDC1.0。MIDP(移动信息设备简表) 位于CLDC基础之上,为开发者提供了应用程序模型、图形用户界面等功能,比如我们下面的程序中用到的 javax.microediton.midlet.MIDlet类、javax.microediton.lcdui.Display类,甚至我们以后 编写游戏用到的javax.microedition.lcdui.game.*包中的类,都是MIDP规范定义的,也就是说,只要我们的手机满足这两个 规范,我们使用这些类写的程序就能够在手机上正常运行。现在最流行的MIDP版本为2.0。大家在为自己的手机写程序的时候,请参考用户手册。

  点击完成,我们就创建好了项目。

  在项目名称上面单击鼠标右键,在快捷菜单中选择新建Java包,这一步,可以让我们创建一个包来保存我们的程序代码,如下图:
  07.PNG

  下一步,输入包名:
  08.PNG

   下一步,当然是新建一个MIDlet了,这里的MIDlet,是一个继承自javax.microedition.midlet.MIDlet类的 Java类,也就是我们的手机程序的主程序,好比浏览器小程序称为Applet,而服务期端程序称为Servlet,这么一对比,就不难理解MIDlet 的概念了。如下图:
  09.PNG

  输入类名,如下图,在这个图中可以看出,我们还可以为我们的程序指定图标,图标可以是一个png格式的图片文件,我们这里省略,因为我们还没有为我们的程序准备这样的资源。
  10.PNG

  点击完成,下面就是IDE为我们自动生成的代码:
  11.PNG

  这个自动生成的代码代表了一个手机程序的生命周期,其中的startApp()就相当于普通Java程序的main(),而其它两个方法,则分别在程序暂停和程序退出的时候执行。我们对该程序进行扩充,代码如下:
/*
 * MyFirstMidlet.java
 *
 * Created on 2007年7月16日, 下午8:38
 
*/


package  com.xkland.j2me;

import  java.io.ByteArrayOutputStream;
import  java.io.IOException;
import  javax.microedition.midlet. * ;
import  javax.microedition.lcdui. * ;

/**
 *
 * 
@author   海边沫沫
 * 
@version
 
*/

public   class  MyFirstMidlet  extends  MIDlet  implements  CommandListener  {
    
private  Display display  =   null ;
    
private  Form mainForm  =   null ;
    
public   static   final  Command exitCommand  =   new  Command( " 退出 " ,Command.OK, 1 );
    
    
public   void  startApp()  {
        
if (display == null ) {
            display 
=  Display.getDisplay( this );
        }

        mainForm 
=   new  Form( " MyFirstMobileApplication " );
        String text 
=   " 欢迎来到J2ME开发世界! " ;
        mainForm.append(text);
        mainForm.addCommand(exitCommand);
        mainForm.setCommandListener(
this );
        display.setCurrent(mainForm);
    }

    
    
public   void  pauseApp()  {
    }

    
    
public   void  destroyApp( boolean  unconditional)  {
    }

    
    
public   void  commandAction(Command cmd, Displayable displayable) {
        
if (cmd  ==  exitCommand) {
            destroyApp(
false );
            notifyDestroyed();
        }

    }

}

  对这段代码,我做一些简单的解释:
  1.我们的类implements了CommandListener接口,这个接口需要我们实现commandAction方法,而实现这个接口和方法的目的,就是为了对手机的按键做出响应;
  2.在这个程序界面中,我们用到了Form类,在Form中添加了字符串,然后再调用display.setCurrent方法显示这个Form,这里,display代表了手机的屏幕,而Form是充满这个屏幕的一个用户控件;
   3.这个程序用定义了一个Command对象,而通过Form.addCommand方法加入这个Command对象,这样,在手机的菜单条中就会显示 一个“退出”按钮,至于显示在屏幕的左下方还是右下方,那就根据手机而不同了,当我们点击这个按钮的时候,就会触发CommandListener的 commandAction方法,我们通过Form.addCommandListener添加监听器。

  在项目的快捷菜单中点击运行项目,如下图:
  12.PNG

  下面是运行效果:
  13.PNG

  按下模拟器的启动键,就可以启动程序,如下图:
  14.PNG

  点击模拟器上的退出键,就可以退出程序。

  今天就写到这里了。现在我们得到的,只是一个能够在模拟器上运行的简单程序。我们该如何把它弄到我们的手机上面呢?我们又该如何编写更加复杂的用户界面呢?怎么样才能编写游戏呢?且看我慢慢写来。

 
2.ROS实用工具:坐标变换 本文围绕ROS坐标变换展开,介绍其在机器人系统中的关键作用,即统一不同传感器和执行器坐标系,服务数据融合等操作。基于ROS的tf库,从广播和监听TF变换两方面阐述实现过程,涵盖新建工作包、编写广播和监听代码、配置构建文件及编译等步骤。此外,介绍启动节点管理器后运行广播和监听节点的方法,并通过rqt_graph、rqt_tf_tree、tf_echo等工具可视化和获取坐标系变换信息。借助这些内容,读者不仅能掌握ROS坐标变换的实现,还能对机器人坐标变换系统的调试和理解有更深入认识 。 阅读详情

相关推荐

LangChain实战:用FAISS搭建本地文档问答系统(含Word文件处理避坑指南)

本文详细介绍了如何利用LangChain框架和FAISS向量数据库构建本地化智能文档问答系统,特别针对Word文档处理中的技术难点提供实用解决方案。通过模块化设计、本地化支持和多格式兼容,实现高效文档处理与精准问答,满足企业对数据隐私和安全的需求。

o4p5q6r7s的博客 410

用NetBeans开发J2ME游戏实例讲解(三)

作者:林刚 文章来源:http://blogs.sun.com/lirincy 4.改进程序 (1)记录历史步骤,以便可以悔棋:记录历史步骤的方法是实现一个History类,这个类实际上是一个Vector的封装,用来保存每一步的走法,走法被定义为一个包含5个元素的数组,分别是X,Y,width,height,direction. 这里需要注意的是,Java当中实际上是没有局部变量的,每一个局部变量

mobilechannel的专栏 863

告别‘抓瞎’:CANoe的Trace、Graphics和Logging窗口实战技巧,高效分析总线故障

本文深入解析CANoe的Trace、Graphics和Logging窗口实战技巧,帮助工程师高效分析总线故障。通过智能过滤、可视化监控和智能日志管理,构建系统级问题定位工作流,显著提升车载网络故障排查效率。

weixin_42709044的博客 295

Pandas多维聚合实战:银行风控中的客户-产品-时间三维分析

多维聚合是数据分析中将原始表格升维为业务立方体的核心技术,其本质是通过分组键定义分析坐标系,并在该坐标系内同步执行多种统计运算。它基于pandas底层的计算图机制,显著优于多次单维groupby的性能与语义一致性。该技术具备天然的业务适配性——尤其适用于客户价值分析、风险波动评估、区域产品偏好建模等需交叉维度协同判断的场景。在银行、电商、SaaS等行业,多维聚合直接支撑滚动窗口计算、鲁棒范围统计、自定义业务指标(如高价值交易占比)及BI就绪矩阵生成。本文聚焦真实银行交易流水,详解agg字典语法、MultiI

dfdfadsf3443的博客 412

Amber实战:小分子配体MD模拟全流程避坑指南(附磷酸基团处理技巧)

本文提供了一份基于Amber软件进行小分子配体分子动力学模拟的实战避坑指南。详细解析了从晶体结构预处理、配体参数化(重点探讨AM1-BCC与RESP电荷选择)、复合物体系构建到模拟稳定性调试的全流程。特别针对磷酸基团等特殊官能团处理中常见的模拟崩溃问题,给出了系统性的诊断与解决方案,旨在帮助研究者获得稳定可靠的模拟结果。

weixin_29237635的博客 682

音视频从入门到精通——指数哥伦布码原理

在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的。

mirana的专栏 1383

netbeans商业开发j2me简介

鸟哥不想挑起eclipse与netbeans哪个好的争端。但我对eclipse这名字有异议却一定要说出来,你可以说我很迷信。eclipse有日食的意思,我视之为诅咒,结果,真如IBM的愿望,Sun被Oracle食了。如果java以后的路因此而走向灭亡或者其他不好的,那这个诅咒,就实在害得人太多了。可以说,没有java,我的职业生涯就不那么顺畅,更可能不会有写blog的机会,相信很多读此blog的人...

鸟哥 253

uniapp map地图实现marker聚合点,并点击marker触发事件

【代码】uniapp map地图实现marker聚合点,并点击marker触发事件。

weixin_44705979的博客 5437

NetBeans6.8开发J2ME-1(创建J2ME项目)

什么是 Mobile 应用程序?<br />大多数 Mobile 应用程序都使用 Java Micro Edition (Java ME) 平台,该平台专门针对移动电话和机顶盒等小型设备而开发。Java ME 使用向下扩展的 Java SE 组件、虚拟机和 API 所组成的子集。它也定义分别以客户移动设备和嵌入设备为目标的 API。NetBeans Java ME 支持两种基本的 Java ME 平台配置:CLDC 和 CDC。有限接设备配置 (Connected Limited Device Config

bb12152205gg的专栏 739

手把手教你获取全国街道级GeoJSON数据:前端地图开发必备技巧

本文详细介绍了获取全国街道级GeoJSON数据的多种方法,从前端地图开发的实际需求出发,涵盖了免费获取省市县级数据的工具如阿里云DataV.GeoAtlas和HashTang,以及进阶的街道级数据获取方案,包括使用Bigemap GIS Office和专业数据采购。文章还提供了数据处理与优化技巧,帮助开发者高效使用GeoJSON数据进行地图可视化。

weixin_29053383的博客 289

C++-ONNX:用onnxruntime部署自己的模型【Pytorch导出.onnx】【Tensorflow导出.onnx】【C++用onnxruntime框架部署并推理】

微软联合Facebook等在2017年搞了个深度学习以及机器学习模型的格式标准–ONNX,旨在将所有模型格式统一为一致,更方便地实现模型部署。现在大多数的深度学习框架都支持ONNX模型转出并提供相应的导出接口。ONNXRuntime(Open Neural Network Exchange)是微软推出的一款针对ONNX模型格式的推理框架,用户可以非常便利的用其运行一个onnx模型。ONNXRuntime支持多种运行后端包括CPU,GPU,TensorRT,DML等。

u013250861的博客 5766

使用NetBeans进行J2ME开发[手机程序开发]

首先,我们需要搭建一个开发环境。Eclipse和NetBeans都是好选择。我这里选择的是NetBeans 5.5.1加Mobile Pack 5.5.1, 它们的下载地址如下图:        点击上面的Download NetBeans IDE按钮,就可以进入到详细的下载页面,如下图,这里,我们只需要NetBeans和MobilePack,其它的我们用不到。    下载完成

xuejinyoulan的专栏 1559

web渗透--9--识别web应用框架

1、概述 Web框架指纹识别是信息收集过程中的一个重要任务。获悉目标框架的类型必然为测试人员带来极大的优势,如果该框架在之前就被测试过。测试人员不仅可以获得未修补版本中存在的漏洞,还可以了解此框架中特有的错误配置以及已知的文件结构。从而使指纹识别过程显得格外重要。

武天旭的博客 5101

使用NetBeans进行J2ME开发(二):把程序转移到手机上

使用NetBeans进行J2ME开发(二):把程序转移到手机上上一篇,我们见识了编写一个手机程序其实很简单。但是很多人大概不是很明白怎样把程序转移到手机上,不信你就试试,不管你是用数据线,还是用红外蓝牙,都无 法把电脑上的程序弄到手机上运行,也没办法把别人手机上的游戏弄到自己的手机上运行(传输普通数据可以,就是程序不行)。我有一次就是看到别人的手机上有 很多游戏,想转移过来,怎么试都不

小李专栏 1587

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

用NetBeans开发J2ME游戏实例讲解(一)

作者:林刚 文章来源:http://blogs.sun.com/lirincy 最近在网上看到一篇关于华容道的J2ME的开发实例,花了一天时间,在NetBeans上实现了,并且进行了改进和增强,现将经验共享出来,部分代码属原作者所有,在附录中。 1. 必须先安装 NetBeans IDE 4.0 和 NetBeans Mobility Pack 4.0,然后才能开始进行 J2ME MIDP 开发。

mobilechannel的专栏 1346

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱

游戏开发,好大的一个命题哦。无论是游戏的剧情设计,还是游戏的美工制作,那都不是一两下子能够完成的事,而编程,只是其中的一小部分。但是,就算是这一小部分,我也不可能把它掌握得很透彻。这篇随笔,大部分都是些抄书的东西,主要是为了我的博客的完整性而存在,但是我依然会尽力把它写好,要让那些精通Java其它领域但是却没有机会做J2ME开发的高手们看看图片解解馋,让那些想做手机游戏开发的同仁们看看J2ME的G

xuejinyoulan的专栏 1498

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何使用J2ME中的线程

 如何使用J2ME中的线程 林刚 { lirincy@163.com} 引用需要注明作者,出处线程在J2ME开发中是不可或缺的一部分,J2ME继承了J2SE中关于java.lang中的Runnable接口,以及Thread类。但是,由于J2ME应用的特殊性,J2ME程序中去除了部分API,没有线程组的概念,也没有daemon线程。今天,我们从一个例子出发

飞旋无限 3839

使用NetBeans进行J2ME开发(三):低级图形用户界面Canvas

使用NetBeans进行J2ME开发(三):低级图形用户界面Canvas 在这一篇中,我将向大家介绍图形用户界面中的低级图形用户界面。所谓低级图形用户界面,指的是那种我们可以自己在上面画图的控件,它是和TextBox, List等等这些用户控件刚好相对的概念,因为这些用户控件的形状是事先画好的,无需我们程序员操心,所以称为高级图形界面。低级图形用户界面什么东西都 需要我们自己画,所以比

小李专栏 1658

使用NetBeans进行J2ME开发(四):高级图形用户界面

本来我介绍完J2ME的低级图形界面Canvas就想直接跳到游戏开发API,但是为了内容 的完整性,我决定还是把高级图形用户界面简单介绍一下。不过重点不一样,我不会很详细的将各个类怎么使用,我只是向大家演示一下NetBeans的可视化 开发功能和高级图形用户界面在手机上的运行效果。让图片说话吧。1、在项目中新建MIDlet的时候,选择Visual MIDlet,如下图: 2、弹出可视化设计界面,

SunnyMoon(月下泉声)博客空间 (此博客已废弃,新博客地址:http://sunnymoon.javaeye.com/) 1546

[转载]用NetBeans平台开发J2ME游戏实例讲解2

用NetBeans平台开发J2ME游戏实例讲解2(3).建立Draw类用来显示图形:    public class Draw {    /** Creates a new instance of Draw */    publ...

congji3817的博客 149

[转载]用NetBeans平台开发J2ME游戏实例讲解3

用NetBeans平台开发J2ME游戏实例讲解34.改进程序    (1)记录历史步骤,以便可以悔棋:    记录历史步骤的方法是实现一个History类,这个类实际上是一个Vector的封装,用来保存每一步的走法,走法被定义为...

congji3817的博客 199

用sun公司的NetBeans开发J2ME程序

  本文开始将讲述如何配置和使用NetBeans4.0开发环境来创建配置和开发J2ME项目,开始J2ME开发之旅。由于这是创建的第一个J2ME程序,按照程序开发的惯例,这头把交椅自然又是非"Hello World"莫属了。HelloWorld虽然功能简单,但是麻雀虽小,五脏俱全,通过这个小程序的开发,完全能够达到让读者熟悉J2ME程序开发一般流程的目的第一步:准备开发工具IDE:NetBeans

MissWolf 2569

用Eclipse开发J2ME手机游戏入门讲座

   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛 用Eclipse开发J2ME游戏入门讲座  ⊙技术专题精选Java手机游戏开发专辑 J2ME应用程序开发指南基于Nokia手机的游戏开发MIDP图形设计篇⊙相关文章责任编辑 开发者网络责任编辑:方舟   最新推荐 用Eclipse开发J2ME手机游戏入门讲座  本期专题对

ark1111的专栏 2083

使用NetBeans进行J2ME开发(一)

我们是程序员,我们没有各种各样的应酬,电脑和网络就是我们的整个世界。上班之余,我们该如何自娱自乐呢?想一想我们每天别在裤腰带上的手机,再想一想我们已经非常熟悉Java,那么,我们为什么不写几个J2ME的手机程序玩玩呢?  首先,我们需要搭建一个开发环境。Eclipse和NetBeans都是好选择。我这里选择的是NetBeans 5.5.1加Mobile Pack 5.5.1, 它们的下载地址如下图

IT记忆 720
上一篇: JSP的作用域
下一篇: 使用NetBeans进行J2ME开发(二):把程序转移到手机上
SunnyJavaMoon
博客等级 码龄21年 20粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值