上下文敏感菜单 - Java ME

时间:2009-04-27 21:05:33

标签: java java-me command midp lcdui

我正在尝试构建一个基于上下文敏感的命令列表。我为所有命令按钮设置了command.ITEM选项。但我找不到如何提供以下功能的方法:

我有一个值列表,如A,B,C 对于A,我的命令菜单应包含2,4 当我将选择(光标)移动到B时,我的命令菜单应该有1,3 当我移动到C时,命令应该是2,1 当我回到A时,它应该有A的命令菜单(2,4)

它可用于文件和目录列表:

选择文件后,我想显示打开,编辑和删除选项(命令)。当我选择一个目录时,我想显示刚刚打开和删除的命令。

提前感谢任何指向正确方向的帮助。

1 个答案:

答案 0 :(得分:1)

javax.microedition.lcdui.Form类的规范(我假设你正在使用的)说明:

“这些遍历和滚动操作不会导致应用程序可见事件”

在显示命令菜单之前,也没有调用任何方法。

所有这些意味着您无法使用表单在此处执行所需操作。

根据您所定位的特定手机上的J2ME实施情况,javax.microedition.lcdui.CustomItem.getInteractionModes()可能会告诉您是否可以在表单中使用单个CustomItem来创建上下文相关菜单。

在所有手机上执行此操作的唯一可靠方法是使用javax.microedition.lcdui.Canvas并通过自己绘制来重新实现所需的控件。然后,您可以跟踪哪一个被“选中”并填充您自己的命令菜单,然后再显示它以响应低级keyPressed()事件。

您可能需要查看LWUIT开源库以获取中间解决方案。