java-me - LWUIT TextArea 无法捕获触摸事件

标签 java-me checkbox touch lwuit lwuit-textarea

我已经通过 TextAreaCheckBox 制作了一个 Container 复合体。在我的应用程序中,我创建了很多这样的“Containers”,并向其中的每个 TextArea 添加一个 ActionListener (由类实现) 。像这样的事情:

for(int i = 0 ; i<20;i++){
 MyContainer c = new MyContainer();
 TextArea t = c.getTextArea();
 t.addActionListener(this);
}

我希望 TextArea 捕获该事件,如果按下该事件,则选中或取消选中 CheckBox。它在非触摸设备和模拟器中工作正常,但在触摸设备或模拟器中,TextArea 无法捕获事件。我尝试将 TextArea 作为 Container 的主要组件,但它不起作用,因为 Container 没有 addActionListener 方法。

最佳答案

如果我正确理解了这个问题,您正在尝试创建一个由多个不同组件组装而成的复合组件,以充当单个组件。在 LWUIT/Codename One 中,这称为 Lead Component ,所附文章主要是关于资源编辑器的,但这些概念也适用于手动编码。 只需将“复选框”设置为您的线索,一切就会正常。

您可以通过派生和覆盖来手动编码,但您会遇到一些小的边缘情况,例如样式状态的更改(聚焦/按下状态等)

关于java-me - LWUIT TextArea 无法捕获触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175831/

相关文章:

php - 如何正确处理分块编码请求?

java-me - 将 Dialog.showPacked() 与 BorderLayout.CENTRE 定位一起使用时出现奇怪的 LWUIT 对话框行为

javascript - 显示可点击的网格

ios - 如何检测触摸输入是否与 uiimageview 相交

javascript - 统一触摸和点击事件

c# - 处理 UI 上未启动的触摸

java - 在不使用推荐的 IDE(即 Eclipse)的情况下启动 Blackberry Java 项目是否合理?

java - 使用第二张 SIM 卡拨号 (j2me)

android - PreferencesActivity - 自定义复选框、单选按钮等的样式

checkbox - 如何在InnoSetup向导页面中读取和设置复选框的值?