gpt4 book ai didi

java - 代号 一个事件在包含更多子容器的容器中监听

转载 作者:行者123 更新时间:2023-11-29 04:34:06 27 4
gpt4 key购买 nike

我正在使用 Codename One 开发移动应用。

我有一个外部容器,我通过调用方法 addPointerReleasedListener 添加了一个 ActionListener

还有更多未添加任何监听器的内部容器。

举例说明:

outer-Container (added `addPointerReleasedListener` to it)
- An Image Container (NO listener added)
- A Text Container (NO listener added)


--------------------------------------------------------------
| | | |
| | | |
| | Image | Some Text here |
| | | |
| | | |
--------------------------------------------------------------
^ ^ ^
works only if I click/press
here

我注意到,为了调用该事件,我必须单击/按下未占用任何内部容器的区域。也就是说,如果我点击/按下任何文本和图像区域,它会起作用(因为没有添加任何听众)。我必须专门单击/按下外部容器的“空白”区域。显然,这没有意义,因为我想让整个容器在用户单击/按下其中的任何位置时以相同的方式使用react。

实现它的最佳方法/实践是什么? (我发现将同一个监听器添加到多个内部容器有点多余。)

最佳答案

您的方法在真实设备上无法正常工作。

创建一个按钮并将您的 actionListener 添加到它,并将您的外部容器的 leadComponent 设置为该按钮。

Button btn = new Button("");
btn.addActionListener(e -> {
//Your action here
});
outerContainer.setLeadComponent(btn);

您不必将该按钮添加到您的容器中,只需将其设置为 leadComponent。

关于java - 代号 一个事件在包含更多子容器的容器中监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42502712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com