Codename One - 将EventListener添加到Glasspane

时间:2017-12-16 21:05:44

标签: codenameone

我编写了以下方法来添加一个保持" over"应用程序,在Glasspane中。我的问题是如何添加通过点击图标触发的事件。例如,如果用户点击helpImage图标(如以下代码所示),则应用程序上将显示一个表单以联系技术支持(下面的表单应该模糊)。

public static void addOverlayIcon(Form current) {
    Style s = UIManager.getInstance().getComponentStyle("TechnicalSupportIcon");
    Image helpImage = FontImage.createMaterial(FontImage.MATERIAL_LIVE_HELP, s);
    current.setGlassPane((g, rect) -> {
        int x = Display.getInstance().getDisplayWidth() - helpImage.getWidth() - Display.getInstance().convertToPixels(1);
        int y = Display.getInstance().convertToPixels(1);
        g.drawImage(helpImage, x, y);
    });
    current.revalidate();
}

1 个答案:

答案 0 :(得分:2)

我会在更现代的应用程序中使用分层窗格,因为它允许您使用按钮,动画等。在FloatingActionButton的情况下,这似乎与我们的相似。

但是,要回答这个问题,您只需在表单上使用addPointerReleasedListener来检测和处理触摸事件。