LWUIT TextArea不会捕获触摸事件

时间:2012-02-07 11:56:57

标签: java-me checkbox touch lwuit lwuit-textarea

我通过ContainerTextArea制作了CheckBox个化合物。在我的应用中,我创建了这么多“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方法。

2 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,那么您正在尝试创建一个由多个不同组件组合而成的复合组件,以充当单个组件。在LWUIT / Codename One中,这称为Lead Component,附加的帖子主要是关于资源编辑器,但这些概念也适用于手动编码。 只需将“复选框”设置为您的主管,一切都应该有效。

你可以通过派生和覆盖来手动编码,但是你会有一些小的边缘情况,比如样式状态的改变(聚焦/按下状态等)

答案 1 :(得分:0)

derive方法的TextAreagetTextArea()更好。然后在这个类中实现pointerReleased方法:对以正常方式执行的操作进行编码。