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