【问题标题】:codename one container with action listener代号一个带有动作监听器的容器
【发布时间】:2017-07-08 19:30:42
【问题描述】:

我正在使用 Codename One 开发我的第一个移动应用程序。我试图让一个容器对正常的点击动作事件做出反应。 我有一个容器(注意这不是一个摇摆容器,而是一个代号容器),它包含一个可滚动的框 Y_axis 布局中的列表元素。到目前为止,一切都很好。这些元素本身就是容器,其中包含标签、图像和星形滑块。

现在,当用户单击整个元素容器中的任意位置时,我想切换到另一个表单以显示该条目的详细信息。 但是,容器不提供添加动作侦听器。仅仅实现 actionlistener 接口也无济于事。下一个问题是,代号 one 容器也没有 mouselistener,因为移动应用程序没有鼠标可以点击。

那么,如何识别点击容器?

感谢和问候

【问题讨论】:

  • 刚刚添加了额外的 cmets 来解释为什么这不是重复的。这不是一个普通的 Java Swing 容器,而是代号 one 框架。在这种情况下,容器既没有动作也没有鼠标监听器。
  • 那么,如果不是 Swing 相关问题,为什么您的问题会被标记为 Swing?
  • 您没有提供有关代码的太多信息,但根据您所说,我会执行以下操作:将图像设置为按钮并将 ActionListener 附加到它。将容器设置为先导组件。 (container.setLeadComponent(button)。这样一来,整个Container就会承担按钮动作。
  • @HovercraftFullOfEels 请重新打开问题,我有答案,swing 标签已被删除。

标签: java mobile codenameone


【解决方案1】:

在评论中找到了我自己的问题的答案。

按照 Diamond 的说明设置领先组件后,您可以通过设置 setBlockLead(true) 将某些组件从领先组件事件处理中排除

以上面的例子,我们可以用以下方式扩展它:

Button leadBtn = new Button();
leadBtn.addActionListener(e -> {
    //Handle action of the lead button
});

Button anotherBtn = new Button();
anotherBtn.addActionListener(e -> {
    //Handle action of the another button
});

Container myCont = new Container();
myCont.add(leadBtn);
myCont.add(anotherBtn);
myCont.setLeadComponent(leadBtn);
anotherBtn.setBlockedLead(true);

【讨论】:

    【解决方案2】:

    创建一个按钮并给它你的actionListener,然后将它设置为容器的leadComponent,好在你不必将它添加到容器中。

    Button myBtn = new Button();
    myBtn.addActionListener(e -> {
        //go to other form here
    });
    
    Container myCont = new Container();
    myCont.setLeadComponent(myBtn);
    

    【讨论】:

    • (-1) 请阅读或重新阅读 cmets。这不是一个 Swing 问题,所以你的答案,一个最基本的 Swing 类型的代码答案,与手头的问题无关。
    • 以上代码严格来说是源自swing的代号。所以这个答案太准确了。
    • 嘿,请把拇指向下移开,让提问者先给出反馈。
    • 感谢 Diamond 解决这个问题,也感谢您的解决方案,将对此进行测试!
    • 这对我也有帮助,所以我也非常感谢。但是,我在这里还有一点。我的容器有 2 个按钮,一个应该是引导组件以对单击容器中的任何位置做出反应,而第二个按钮(如“关闭”按钮)应该仅在单击按钮时对动作做出反应。这是否可以在容器上有一个主要组件和额外的小按钮?
    猜你喜欢
    • 2017-02-10
    • 1970-01-01
    • 2021-07-02
    • 2021-03-13
    • 1970-01-01
    • 2013-01-04
    • 2017-05-08
    • 1970-01-01
    • 2013-12-24
    相关资源
    最近更新 更多