Codename One从Component获取Value

时间:2017-12-17 14:32:26

标签: drag-and-drop containers codenameone

我正在开发一个使用带标签的拖放操作的应用程序(一个必须以正确的顺序排列单词的游戏)。

标签会动态添加到容器中,我想使用按钮操作来检索标签的文本。

但按钮仅打印最后一个标签的内容。如何捕获所有这些内容?

任何帮助都将不胜感激。

String word = "ma:to:to";
String delimiter = ":";
StringTokenizer wordTokenizer = new StringTokenizer(word, delimiter);

while (wordTokenizer.hasMoreTokens()) {             

        tokenLabel = new Label(wordTokenizer.nextToken());
        tokenLabel.setUIID("LabelWord");
        tokenLabel.setDraggable(true);
        container_1.add(tokenLabel);
}

buttonDialog.addActionListener((e) -> {   

        for (Component component : container_1) {                
            String s = component.toString();
            System.out.println(s);
        } 

 }

1 个答案:

答案 0 :(得分:2)

This is the exact use case for putClientProperty see this.

You can just do:

myLabel.putClientProperty("metaData", myData);

Then later:

Object myData = myLabel.getClientProperty("metaData");