Events LUIT:更改显示窗体上的组件文本

Events LUIT:更改显示窗体上的组件文本,events,netbeans,java-me,lwuit,codenameone,Events,Netbeans,Java Me,Lwuit,Codenameone,我使用codenameone,我想更改一些标签文本,或者用数据库中的动态数据填充表。 所以,我的问题是: 1.什么事件有利于更改显示表单上的组件文本 2.如何创建数据库并从中加载数据或向其中插入数据 我的申请详情: 我有一个带有按钮列表的主窗体,每个按钮都映射为显示另一个窗体。 除主窗体外,窗体的组件必须动态设置。如果您使用的是GUI builder,则可以在“显示前事件”中执行此操作。如果您使用代码,那么只需在调用form.show()之前执行这些操作即可 我建议您使用存储类如果您的需求很简单

我使用codenameone,我想更改一些标签文本,或者用数据库中的动态数据填充表。 所以,我的问题是:

1.什么事件有利于更改显示表单上的组件文本

2.如何创建数据库并从中加载数据或向其中插入数据

我的申请详情: 我有一个带有按钮列表的主窗体,每个按钮都映射为显示另一个窗体。
除主窗体外,窗体的组件必须动态设置。

如果您使用的是GUI builder,则可以在“显示前<代码>事件”中执行此操作。如果您使用代码,那么只需在调用
form.show()
之前执行这些操作即可


我建议您使用
存储
类如果您的需求很简单,它支持存储简单对象。您也可以在智能手机上使用SQlite数据库(不是J2ME等),但对大多数人来说,这是一种过分的做法。两者都有很好的代码名记录

谢谢谢了。正如Shai所说,要为表单的组件设置值,我们可以在form.Show()之前执行此操作

我得到了错误,因为我调用了findLblTimeVlaue(),但当我将其更改为findLblTimeVlaue(字符串,表单)时,我的错误消失了。代码如下:

@Override
protected void beforeReminderUI(Form f) {
    com.codename1.ui.Label lbl = 
            (com.codename1.ui.Label)findByName("lblTimeValue", f);
    lbl.setText("Hi 2013213");
}

谢谢你,谢。我试着按照你说的做,但我得到了一个错误“发生了一个内部应用程序错误:java.lang.NullPointer”。这是我的一些代码行(在StateMachineBase.java类中使用codenameone的GUI生成器生成):public com.codename1.ui.Label findLblTimeValue(){return(com.codename1.ui.Label)findByName(“lblTimeValue”,Display.getInstance().getCurrent());}protected void beforememenderUI(格式f){findLblTimeValue().setText(“Hi”);}您可以使用findLblTimeValue(f),因为表单尚未显示(这是before方法),Display.getCurrent()方法将返回其中不包含LblTimeValue的前一个表单。