为 J2ME 应用程序设计 GUI

Posted

技术标签:

【中文标题】为 J2ME 应用程序设计 GUI【英文标题】:Design a GUI for a J2ME app 【发布时间】:2009-07-05 17:23:22 【问题描述】:

如何为手机创建一个 J2ME 应用程序,其 GUI 类似于您在 Java 游戏中看到的菜单?我已经尝试过使用 Netbeans 的 MIDlet,但它们一次只显示一个 GUI 元素。 (文本框、选项、登录等)

您通常会在哪个 Java IDE 中设计这些 GUI? Netbeans 还是 Eclipse? IntelliJ IDEA 是否也适用于此?

我是否必须编写/获取一个库,该库通过位图函数将 GUI 控件绘制到屏幕上……并跟踪为获得焦点而按下的键?

【问题讨论】:

您尝试使用哪款手机,40 系列还是 S60? 【参考方案1】:

尝试使用 LWUIT - j2me 的不错的 UI 工具包: https://lwuit.dev.java.net/ http://lwuit.blogspot.com/

【讨论】:

【参考方案2】:

您也可以使用 minime:http://code.google.com/p/minime/ 它是 j2me 的开源 GUI 库。 miniME 在画布级别(j2me 中的最低级别)上工作以绘制每个控件,因此无论在哪个手机上运行,​​您的 UI 看起来都完全相同。其他优点是: - miniME 使用它自己的事件循环来管理用户控制的事件(按下按钮,软栏,..),所以你的应用程序将“表现”相同的任何手机。 - miniME 支持视图和视图堆栈的概念,以便在不同视图/屏幕之间轻松导航。

这是一个示例:视图是您在给定时刻屏幕上的内容(例如主菜单屏幕),然后转到子菜单,您创建一个新视图,并通过调用简单的 API ,您将其推入视图堆栈。之前的视图(主菜单)仍然存在,但处于非活动状态。当子菜单视图完成他的工作时(例如,用户按下返回,或进行选择),您可以通过调用pop api返回到上一个视图。

【讨论】:

【参考方案3】:

您的问题有点含糊,无法给出具体的回答,但您可能想查看LWUIT 或Polish,您可以使用 Eclipse 或 Netbeans 进行开发。

就设计 GUI 而言,从视觉角度来看,这两种 IDE 都无济于事。 J2ME UI 开发全部在代码中完成,除了在适当的图形编辑器中创建任何初始图形之外,您在测试之前看不到输出。

阅读 LCDUI package documentation,它解释了 UI 类的工作原理以及“高级”和“低级”API 之间的区别。

【讨论】:

【参考方案4】:

我无法评论要使用哪个 IDE - 但我知道要创建自定义 UI(就像您在 J2ME 游戏中看到的那样),您必须明确绘制 GUI 控件。

请注意,您可能需要根据目标手机自定义 GUI。您必须满足不同的屏幕尺寸、键盘配置、默认主题等。这可能意味着您需要针对不同的屏幕尺寸进行不同的构建,这会增加您的 Java Verified 认证成本(如果您需要的话)。

您可能会找到一组漂亮的 UI 控件,可以在线购买和使用(试试 J2ME Polish)。当然,最简单的方法是使用默认的 J2ME 控件:)

【讨论】:

【参考方案5】:

许多 j2me GUI 库的链接:link1、link2

我知道kuix 不错而且免费 - 观看演示。 但我更喜欢制作自己的 gui 元素 - 这更加灵活(但需要一些时间)。

至于 IDE - 您可能想要制作某种 gui-editor 工具,在其中构建界面,将结果保存到某个文件,然后从您的应用程序中读取。

【讨论】:

【参考方案6】:

编写自己的 GUI 太麻烦了,尤其是现在可用的 GUI 太多了。如果您熟悉 VB.Net 和 C# 中的桌面开发,您可能会发现“J2ME GUI”易于使用。您可以从http://www.garcer.com/ 下载它。它具有相似的感觉,并且易于学习。当我开始移动开发时,这是我期望 MIDP2 标配的那种 GUI。本来可以解决很多问题的。

【讨论】:

【参考方案7】:

如果您熟悉网络资料,那么您可以使用支持 xml 和 css 的 KUIX (kalmeo.org/home/index) 框架。您还可以使用波兰框架 (www.j2mepolish.org) 代替它,它还以简单的方式使用 xml,而不是 kalmeo kuix 框架。

【讨论】:

以上是关于为 J2ME 应用程序设计 GUI的主要内容,如果未能解决你的问题,请参考以下文章

哪个是 J2ME 应用程序的最佳 GUI 工具

通过最大化代码重用来为 Android 和 J2ME 编写应用程序的正确设计方法是啥?

J2ME 中的 GUI 更新问题

J2ME 小部件库

开发现代 J2ME 应用程序的最佳方式是啥? [关闭]

J2ME应用程序的预验证是啥意思?