使用代码访问通过 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 - 如何让 9 部分图像拉伸而不重复(资源编辑器 1.5)