使用代码访问通过 LWUIT 资源编辑器创建的表单

Posted

技术标签:

【中文标题】使用代码访问通过 LWUIT 资源编辑器创建的表单【英文标题】:Accessing forms created through LWUIT resource editor using code 【发布时间】:2011-12-27 17:19:25 【问题描述】:

我正在尝试使用 LWUIT 资源编辑器开发一个测验应用程序,但遇到了很大的困难。

我创建了两个 Forms 'GUI1' 和 'GUI2' 。

GUI1 显示如下:

    一个问题(以TextField 的形式) 5RadioButtons属于同一组 Button 说“好的”

GUI2 显示如下:

    一个TextField Button 返回 GUI1

现在的问题是:

最初显示 GUI1。当用户选择 RadioButton 时,我想知道选择了哪个 RadioButton。如果RadioButton 确实是正确答案,那么当用户单击 GUI1 上的“确定”Button 时,我希望在 GUI2 上的 TextField 中显示文本“正确”,然后显示 GUI2。

如果用户选择了错误的答案,那么我希望在 GUI2 上的TextField 中显示文本“错误”,然后再显示 GUI2。

如何使用资源编辑器完成此操作?我很狐狸。请帮忙。 当我目前在 GUI1 上时,我希望参考 GUI2 上的 TextField。资源编辑器如何做到这一点?为所有这些编写手动代码将非常耗时。

【问题讨论】:

你试过这些链接UIBuilder class,LWUIT 开发者系列资源编辑器1,2,3,4,5, Lwiit 开发者系列资源编辑器6, 7, 8, 9, 10 要提供一些指针,您需要将资源编辑器生成的 netbeans 项目与一些代码绑定。因此,在您的情况下,应将迁移到“GUI2”的决定写入资源编辑器生成的 netbeans 项目中。将您的逻辑绑定到资源编辑器生成的项目中非常容易。例如参考我的github project,查看类StateMachine 【参考方案1】:

好的,我会尽力解释。

当您设计第一个Form GUI1 时,五个RadioButtons 必须在同一个组中。我不知道如何在资源编辑器中执行此操作(我认为RadioButton 中有一个名为 ButtonGroup 的字段,但我不记得了)。我要做的是在 GUI1 的 before 方法中通过代码获取五个 RadioButton 并将它们添加到 ButtonGroup 元素中。

使用ButtonGroup,您可以知道使用ButtonGroup.setSelectedIndex() 选择了哪个元素。当您按下Button 时,取此值并视情况而定。

如果您有任何不明白的地方,请告诉我,我会尽力帮助您。 不是一件难事。一定有办法用 Resoruce 编辑器做到这一点,但目前我不知道怎么做。

【讨论】:

在资源编辑器属性面板的 GUI 中,您有一个“组”属性。只需为单选按钮提供相同的组名,它们就会共享一个组。您只需收听单选按钮上的操作事件即可知道所选答案。【参考方案2】:

正如 Shai 所提到的,最好的办法是使用侦听器来设置按钮在单击时的“状态”,当您移动到下一个表单时,您只需检索前一个文本字段的状态。

手动代码实际上对您来说可能更快,在资源编辑器中完成大部分 UI 并转换为手动编写的表单。这样您就可以完全控制您的对象并在需要时转回 GUI 构建器表单。

【讨论】:

以上是关于使用代码访问通过 LWUIT 资源编辑器创建的表单的主要内容,如果未能解决你的问题,请参考以下文章

更改 LWUIT 中的启动表单

LWUIT 资源编辑器:创建按钮

LWUIT - 如何让 9 部分图像拉伸而不重复(资源编辑器 1.5)

LWUIT,如何为表单标题创建自定义标签

如何将自定义虚拟键盘​​代码设置为资源编辑器生成的状态机代码(LWUIT 或 Codenameone)

来自资源编辑器的其他 jar 与 LWUIT 1.5 示例应用程序不同