Moin, ich hab da mal ne kleine Frage. Ich schreibe grad einen Wizard um Daten zu erfragen, dabei wird, abhängig von der vorherigen Abfrage, eine dynamische Anzahl von JTextFields anonym angelegt und mit einem DocumentListener versehen. Hier setzt mein logisches Problem ein: ich kann den einzelnen Textfeldern zwar via .getDocument().addProperty() eine "owner"-flag verpassen, allerdings sind die Flags beim auslesen alle identisch, also hab ich den Ansatz wieder verworfen. Da ich die Daten aus den Feldern aber doch ganz gerne noch weiter auswerten würde, ist nun die Frage... wie komme ich an den Auslöser des Document-Events?
so sieht es momentan zur Verdeutlichung aus:
so sieht es momentan zur Verdeutlichung aus:
Java:
JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT));
Map<Integer, Object> textFields = new HashMap<Integer, Object>();
for (int i = 1; i <= (int) map.get("noZiele"); i++) {
p.add(new JLabel("Ziel " + i + ":"));
textFields.put(i, new JTextField(20));
p.add((JTextField)textFields.get(i - 1));
}
DocumentListener dl = new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void insertUpdate(DocumentEvent e) {
}
@Override
public void changedUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
}
};
Set keys = textFields.keySet();
Iterator it = keys.iterator();
while (it.hasNext()) {
Object key = it.next();
JTextField field = (JTextField)textFields.get(key);
field.getDocument().addDocumentListener(dl);
}