2

我用 a和 a做了一个Container复合。在我的应用程序中,我创建了很多这样的“ ”,并在其中的每个内部添加一个(由类实现)。像这样的东西:TextAreaCheckBoxContainersTextAreaActionListener

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方法。

4

2 回答 2

2

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

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

于 2012-02-10T05:44:49.173 回答
0

最好是该方法deriveTextAreagetTextArea()。然后在这个类中实现pointerReleased方法:在其中编码以正常方式执行的操作。

于 2012-02-07T12:48:27.627 回答