首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在J2ME中创建浏览器窗口?

在J2ME中创建浏览器窗口,可以使用MIDP 2.0中的Browser类。以下是一个简单的示例代码:

代码语言:java
复制
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.Player;
import javax.microedition.media.Manager;

public class MyMIDlet extends MIDlet implements CommandListener {

    private Display display;
    private Form form;
    private Command exitCommand;
    private Command openBrowserCommand;
    private Browser browser;

    public MyMIDlet() {
        display = Display.getDisplay(this);
        form = new Form("My Browser");
        exitCommand = new Command("Exit", Command.EXIT, 0);
        openBrowserCommand = new Command("Open Browser", Command.ITEM, 0);
        form.addCommand(exitCommand);
        form.addCommand(openBrowserCommand);
        form.setCommandListener(this);
    }

    public void startApp() {
        display.setCurrent(form);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d) {
        if (c == exitCommand) {
            destroyApp(true);
            notifyDestroyed();
        } else if (c == openBrowserCommand) {
            try {
                browser = Browser.getBrowser();
                browser.setCurrentURL("http://www.example.com");
                browser.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

在这个示例代码中,我们创建了一个MIDlet类,并在其中定义了一个Form对象和两个Command对象。其中,exitCommand用于退出应用程序,而openBrowserCommand用于打开浏览器窗口。在commandAction方法中,我们根据所选命令执行相应的操作。当用户选择openBrowserCommand时,我们使用Browser类的getBrowser方法获取浏览器对象,并设置浏览器的当前URL和可见性。

需要注意的是,由于J2ME是一个较为古老的技术,因此其中的一些功能可能已经过时或不再被支持。在实际开发中,建议使用更为现代化的技术,例如Android或iOS应用开发。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Java】01 初识 Java

Java 语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作,最后产生的划时代产品,从某个角度来看,Java 语言的诞生完全是一种误会。    1990 年年末,Sun 公司预料嵌入式系统将在未来家用电器领域大显身手。于是 Sun 公司成立了一个由 James Gosling 领导的 “Green计划”,准备为下一代智能家电(如电视机、微波炉、电话)编写一个通用控制系统。    该团队最初考虑使用 C++ 语言,但是很多成员包括 Sun 的首席科学家 Bill Joy,发现 C++ 和可用的 APl 在某些方面存在很大问题。而且工作小组使用的是嵌入式平台,可用的系统资源极其有限。并且很多成员都发现 C++ 太复杂,以致很多开发者经常错误使用。而且 C++ 缺少垃圾回收系统、可移植性、分布式和多线程等功能。    根据可用的资金,Bill Joy 决定开发一种新语言,他提议在 C++ 的基础上,开发一种面向对象的环境。于是,Gosling 试图通过修改和扩展 C++ 的功能来满足这个要求,但是后来他放弃了。他决定创造一种全新的语言:Oak。    到了1992 年的夏天,Green 计划已经完成了新平台的部分功能,包括 Green 操作系统、Oak 的程序设计语言、类库等。同年11月,Green 计划被转化成 “FirstPerson有限公司”,一个 Sun 公司的全资子公司。    FirstPerson 团队致力于创建一种高度互动的设备。当时代华纳公司发布了一个关于电视机顶盒的征求提议书时,FirstPerson 改变了他们的目标,作为对征求提议书的响应,提出了一个机顶盒平台的提议。    但有线电视业界觉得 FirstPerson 的平台给予用户过多的控制权,因此 FirstPerson 的投标败给了 SGl,同时,与 3DO 公司的另外一笔关于机顶盒的交易也没有成功。此时,可怜的 Green 项目几乎接近天折,甚至 Green 项目组的一半成员也被调到了其他项目组。正如中国古代的寓言所言:塞翁失马,焉知非福?如果 Green 项目在机顶盒平台投标成功,也许就不会诞生 Java 这门伟大的语言了。    1994 年夏天,互联网和浏览器的出现不仅给广大互联网的用户带来了福音,也给 Oak 语言带来了新的生机。Gosling 立即意识到,这是一个机会,于是对 Oak 进行了小规模的改造,到了1994 年秋,小组中的 Naughton 和 Jonathan Payne 完成了第一个 Java 语言的网页浏览器:webRunner。Sun 公司实验室主任 Bert Sutherland 和技术总监 Eric Schmidt 观看了该浏览器的演示,对该浏览器的效果给予了高度评价。当时 Oak 这个商标已被别人注册,于是只得将 Oak 更名为 Java。    Sun 公司在1995 年年初发布了 Java 语言,Sun 公司直接把 Java 放到互联网上,免费给大家使用。甚至连源代码也不保密,也放在互联网上向所有人公开。    几个月后,让所有人都大吃一惊的事情发生了:Java 成了互联网上最热门的宝贝。竟然有10万多人次访问了 Sun 公司的网页,下载了 Java 语言。然后,互联网上立即就有数不清的 Java 小程序(也就是 Applet ),演示着各种小动画、小游戏等。    Java 语言终于扬眉吐气了,成为了一种广为人知的编程语言。    在 Java 语言出现之前,互联网的网页实质上就像是一张纸,不会有任何动态的内容。有了 Java 语言之后,浏览器的功能被扩大了,Java 程序可以直接在浏览器里运行,可以直接与远程服务器交互:用 Java 语言编程,可以在互联网上像传送电子邮件一样方便地传送程序文件!    1995 年,Sun 虽然推出了 Java,但这只是一种语言,如果想开发复杂的应用程序,必须要有一个强大的开发类库。因此,Sun 在 1996 年年初发布了 JDK1.0。这个版本包括两部分:运行环境(即JRE)和开发环境(即JDK),运行环境包括核心 API、集成 API、用户界面 API、发布技术、Java 虚拟机(JVM)5个部分:开发环境包括编译 Java 程序的编译器(即 javac 命令)。接着,Sun 在1997年2月18日发布了 JDK1.1。JDK1.1 增加了 JIT(即时编译)编译器。JIT 和传统的编译器不同,传统的编译器是编译一条,运行完后将其扔掉;而 JIT 会将经常用到的指令保存在内存中,当下次调用时就不需要重新编译了,通过这种方式让 JDK 在效率上有了较大提升。    但一直以来,Java 主要的应用就是网页上的 Applet 以及一些移动设备。到了1996 年年底,Flash 面世了,这是一种更加简单的动画设计软件:使用 Flash 几

03
  • Java之父:詹姆斯·高斯林 (James Gosling)

    Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。 据James Gosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。 在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。 20多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。而Java语言也如同咖啡一般醇香动人。

    02

    手机平台JAVA-API不完全说明

    JSR 118 MIDP JSR 135 Mobile Media API(移动平台多媒体接口) JSR 139 Connected, Limited Device Configuration (CLDC) JSR 172 J2ME™ Web Services Specification(J2ME平台网络服务相关) JSR 177 Security and Trust Services API for J2ME™(J2ME平台软件认证) JSR 179 Location API for J2ME™(J2ME平台定位接口) JSR 184 Mobile 3D Graphics API for J2ME™(移动平台3D图形接口) JSR 205 Wireless Messaging API(无线信息接口) JSR 211 Content Handler API(内容处理器接口) JSR 226 Scalable 2D Vector Graphics API(可扩展2D矢量图形接口) JSR 234 Advanced Multimedia Supplements(高级多媒体补充/支持) JSR 248 Mobile Service Architecture for CLDC(移动平台CLDC基础架构) JSR 75 File Connection and PIM API(文件系统连接协议/接口) JSR 82 Java™ APIs for Bluetooth(JAVA平台蓝牙支持)

    01

    游戏手机平台简单介绍

    由于手机游戏市场的巨大潜力和无限商机,许多厂商纷纷推出功能强大的手机并提供开放应用平台,而相关手机游戏开发商也是相继投入,与手机厂商或运营商者合作,推出各种跨平台的解决方案。从最早的内嵌式游戏到最新的3D游戏基于各种技术和平台的手机游戏也是分类繁多,为了让读者更好了解各个游戏平台的特点和主要功能,我们将通过下文对目前市面上流行的手机游戏平台做一个简单的介绍。 嵌入/内置式游戏 早期的手机功能简单、屏幕也仅仅是单色,手机厂商能做的,就是在手机内置一些简单的游戏。这些游戏都是厂商以自己的专属平台所开发的,这些发售时就内置的游戏在手机预存了多少就是多少,用户无法自己新增或删除。 诺基亚可说是最早推出的厂商之一,90年代末的诺基亚5110上的最经典的“贪食蛇”游戏到现在还让那些第一代手机玩家们津津乐道。其后其他一些手机厂商顺应潮流步伐,纷纷在新推出的手机里加入游戏。如爱立信T28般狭小的屏幕上也可以玩精彩的“俄罗斯方块“游戏。 尽管后来在GPRS服务还没普及前,一些手机厂商也开发出一些类似短信互动游戏,并通过发送文字或简易图形(当时Nokia手机可传送SMART信息),来达到消遣娱乐的目的。如西门子2118内置的“功夫小子”就能够通过短信的方式进行对战。不过这种短信游戏,每发一则就要扣款一次,如果游戏内容庞大,玩起来的费用非常可观。因此随着手机功能的增强,SMS游戏的魅力渐失,如今已慢慢淡出市场,演变成其它应用。 In-Fusio ExEn娱乐平台 即使是手机屏幕变成了彩色,内置游戏如何好玩,但总而也有玩腻的时候。因此用户们也希望能够玩新的游戏或者象下载图片、铃声那样通过无线网络下载新的游戏。法国In-Fusio公司看中了这个市场,在2001年推出了ExEn(Execution Engine)游戏平台。通过把专属的ExEn芯片加入手机内,赋予手机彩色画面与流畅的执行速度,让手机也有掌上游戏机那样的效果。 2002年该公司再度开发出ExEn V2引擎,进一步提升了手机运行手机游戏的速度和表现力。ExEn可说是第一个交互式游戏的开放平台,让有意开发手机的厂商加入开发的行列。ExEn是一个专用于移动通信设备游戏的结构紧凑的JAVA虚拟机。一旦和终端集成在一起,它可下载游戏并进行本机游戏。因此只要内置ExEn芯片的手机,就可以从ExEn内容供货商通过GSM或GPRS网络技术,下载到手机上玩,且玩腻之后可以将它删除,继续下载其它的游戏。一个ENEX游戏通常15K到55K不等,通常为30K左右。 下载的游戏储存在手机的闪存中;游戏的数量取决于闪存可用于游戏的空间和每一个游戏的大小。目前支持ExEn技术的手机厂商也比较多,有阿尔卡特如735/535、松下X88/86、萨基姆my x5、飞利浦530/350与三菱m720等等,而国内厂商则有波导(BIRD)、CECT、科键(Kejian)大显等。 ENEX平台游戏在使用中还具备这样一些特点即下载最新目录上的游戏是免费的,但需要支付下载时的通信费用,然后在离线状态下(单机)玩游戏则是完全免费。但是如果在游戏结束后发送游戏结果到“排行榜”的短信或要求升级过关的短信则会收取1.50/条 (中国移动短信成本0.10/条除外)费用。 不过ExEn平台游戏没有得到诺基亚和摩托罗拉这样一线品牌的支持,也没有庞大软件开发团队,再加上In-Fusio公司只把ExEn游戏放在少数系统来下载,目前仅有德、法、意、西、英、荷等欧洲国家,以及我国共七个国家能下载到ExEn游戏。而且目前可下载的ExEn的游戏也非常有限,因此与开放程度更高,游戏更为丰富的新兴JAVA游戏相比其可持续发展的前景就相对比较暗淡一些。 J2ME平台 J2ME(JAVA 2 Micro Edition)平台是目前最火暴的手机游戏平台,尽管它还可以下载和安装一些小的应用程序。J2ME简单的可以理解为JAVA的移动版本,其MIDP(Mobile Information Device Profile,移动信息装置简表)架构就是专门为手机与PDA而设计。 目前MIDP有1.0和2.0之分,后者在兼容性以及游戏的多媒体表现力如音效和振动方面有更好的效果,此外通过测试软件显示,支持MIDP2.0的JAVA游戏在图形运行能力对比1.0版本也有更优秀的表现。目前支持MIDP2.0手机主要为03年下半年以后发布的手机如索爱K700、摩托罗拉V300、诺基亚6230等。 同时,以J2ME平台开发的程序叫做MIDlet,可以直接从在线下载后离线运行,或从PC通过数据线、红外或者蓝牙传输到手机上。由于J2ME程序都很小,只有几十K,所以又被称为K-JAVA。由于K-JAVA(J2ME)是开放平台,因此任何程序设计师甚至程序编写爱好者都能到Sun网站下载J2ME开发工具,为手机写JAVA程序。 此外,J2ME的MIDlet文件都是由.jad(JAVA Description

    01
    领券