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

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

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

任何帮助,将不胜感激。

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);
        }

 }

最佳答案

这是putClientProperty的确切用例,请参见this

您可以这样做:

myLabel.putClientProperty("metaData", myData);


然后再:

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

10-08 03:07