Java me 在j2me画布表单中使用事件?

Java me 在j2me画布表单中使用事件?,java-me,midp,lcdui,Java Me,Midp,Lcdui,我是一名网络开发者。最近被迫在j2me中做一些事情 我们在j2me中有一个用于处理SMS文本消息的应用程序,并基于这些SMS创建不同的UI。在此应用程序窗体中,使用Canvas手动创建 每个画布中有几个操作(可通过用户选择不同的选项执行)。其中一些操作创建了新的画布(类似于多表单显示) 是否有解决方案在每个画布窗体中定义事件,然后在调用某个操作(如创建新画布)之后定义事件 更多信息: 例如,我有blow代码(画布形式): 这意味着当用户输入特定的键时,例如,事件调用回基

我是一名网络开发者。最近被迫在j2me中做一些事情

我们在j2me中有一个用于处理SMS文本消息的应用程序,并基于这些SMS创建不同的UI。在此应用程序窗体中,使用
Canvas
手动创建

每个画布中有几个操作(可通过用户选择不同的选项执行)。其中一些
操作创建了新的画布
(类似于多表单显示)

是否有解决方案在每个画布窗体中定义事件,然后在调用某个操作(如创建新画布)之后定义事件

更多信息:

例如,我有blow代码(画布形式):

这意味着当用户输入特定的键时,例如,事件调用回基
(在这种情况下,
midlet
在不同的java类中)

要在Dot net中实现这一点,我们在
画布表单中定义事件,然后调用它。我们还在midlet类中处理该事件,并编写自己的代码int来处理方法

所以我的问题是,如何在J2me中实现相同的功能?

越来越多的附加信息(更新2)

我对java和j2me的了解少于Alga对这方面的了解:)。所以也许我的问题看起来很可笑。但是我的问题有以下几部分:

1) 定义事件(我不知道如何!)
2) 调用事件(我在代码示例中写入
callok事件
comment)
3) 处理事件方法(我不知道如何处理!)

在我的搜索中,我看到了很多如何使用命令定义事件的示例。但在画布形式中,我应该定义
Command
来执行此操作,或者不需要
Command
,因为我在画布中绘制按钮。我希望有人能理解我的这个描述的问题


并希望它能防止的反对票:)

这很容易做到。画布可以监听按键和指针事件以及命令。您可以在API中定义的各个方法中实现所需的操作

如果您感兴趣,请在中查找更多详细信息

创建新画布也很容易,因为它们是普通的旧Java对象,没有魔力。您似乎在C#中非常活跃,希望它与创建C#对象的实例非常相似

唯一值得记住的细节是,要使画布(或任何画布)可见,您需要一个与应用程序对应的实例。获取该实例的唯一方法是从扩展的类(从作为MIDP应用程序入口点的类)获取

您必须在那里获得显示实例,并进一步确保它在您需要的任何地方都可用。该实例也是一个普通的Java对象,与C#对象非常相似,公开它的方法与MIDP无关

如果您需要了解更多的细节,还可以考虑在

学习教程和API文档的引用。

对于有问题的更新中提供的代码段,要想知道发生了什么,可以添加适当的日志记录,并在emulator中重新测试它,按下键时查看emulator控制台

public void keyPressed(int key) {
        // add logging here:
        System.out.println("keyPressed [" + key + "]");
        if (key == -3) {
            // add logging here:
            System.out.println("calling OK-event");
            // call OK-event 
        }
}

有关示例代码,请查看lcdui标记wiki,在
EventEx3.java
中有“MIDP事件处理”教程的参考。lcdui tag wiki中列出的另一个值得一看的教程是“J2ME教程:MIDP 2.0的用户界面”,使用低级API一节-还有示例代码。

这很容易做到。画布可以监听按键和指针事件以及命令。您可以在API中定义的各个方法中实现所需的操作

如果您感兴趣,请在中查找更多详细信息

创建新画布也很容易,因为它们是普通的旧Java对象,没有魔力。您似乎在C#中非常活跃,希望它与创建C#对象的实例非常相似

唯一值得记住的细节是,要使画布(或任何画布)可见,您需要一个与应用程序对应的实例。获取该实例的唯一方法是从扩展的类(从作为MIDP应用程序入口点的类)获取

您必须在那里获得显示实例,并进一步确保它在您需要的任何地方都可用。该实例也是一个普通的Java对象,与C#对象非常相似,公开它的方法与MIDP无关

如果您需要了解更多的细节,还可以考虑在

学习教程和API文档的引用。

对于有问题的更新中提供的代码段,要想知道发生了什么,可以添加适当的日志记录,并在emulator中重新测试它,按下键时查看emulator控制台

public void keyPressed(int key) {
        // add logging here:
        System.out.println("keyPressed [" + key + "]");
        if (key == -3) {
            // add logging here:
            System.out.println("calling OK-event");
            // call OK-event 
        }
}

有关示例代码,请查看lcdui标记wiki,在
EventEx3.java
中有“MIDP事件处理”教程的参考。lcdui tag wiki中列出的另一个值得一看的教程是“J2ME教程:使用MIDP 2.0的用户界面”,使用低级API一节-还有示例代码。

gnat谢谢,
您帮了大忙。
。但我在事件中遇到问题,无法创建画布或显示画布。请接受我对问题描述错误的道歉。您可以为事件部分制作一些示例代码(当从画布获取键调用特定事件时)@Rev只显示您遇到问题的代码()。对于示例代码,请检查
lcdui
tagwiki,在
EventEx3.java
get key from canvas calls specific event中有一个对“MIDP事件处理”教程的参考:)。我更新我的问题(我将等待你的回答)。另外,我也在寻找样品,以确保这是solutionGnat,再次感谢