2017-12-17 2 views
3

Ich arbeite an einer Anwendung, die Drag & Drop-Operationen mit Etiketten (ein Spiel, in dem die Wörter in der richtigen Reihenfolge angeordnet werden müssen).Codename One erhalten Wert von Komponente

Die Labels werden dynamisch zu einem Container hinzugefügt und ich möchte eine Schaltfläche Aktion verwenden, um den Text der Etiketten abzurufen.

Aber die Schaltfläche druckt nur den Inhalt des letzten Etiketts. Wie kann ich den Inhalt von allen erfassen?

Jede Hilfe wäre willkommen.

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

} 

Antwort

2

Dies ist der genaue Anwendungsfall für putClientPropertythis sehen.

Sie können einfach tun:

myLabel.putClientProperty("metaData", myData); 

Dann später:

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

Shai, arbeiten große, viele thanx. – rainer