Text aus Textfield auslesen und als int verwenden?

1 Antwort

Wieso sieht man bei Swing-Codes eigentlich immer dieselben Fehler? Ich verstehe es nicht. Es muss da doch irgendwo eine richtige Mistquelle geben, die das so vormacht.

1) Beschäftige dich mit Layout Managers. Wenn dir das zu kompliziert vorkommt, nutze irgendeinen Swing Builder. Der generiert dir immer noch besseren Code, als wenn du deine Komponenten einfach wild auf die Fläche klatschst.

2) Da der Nutzer irgendwann seine Eingabe tätigt, brauchst du ein Event, welches dir verrät, wann du das Textfeld auslesen kannst. Ein Buttonklick wäre da eine der besten Triggermöglichkeiten.

Da du schon einen Button mit ActionListener hast, brauchst du diesen lediglich erweitern.

String value = textField.getText();

try {
  int delay = Integer.parseInt(value);
  startmove(delay);
}
catch (NumberFormatException nex) {
  // some error handling ...
}
catch (AWTException aex) {
  // ...
}

Die startmove-Methode wiederum wird um einen Parameter erweitert.

Nimm im Übrigen ein JTextField, wenn du schon Swing nutzt, statt deine Oberfläche mit AWT-Komponenten zu mixen. Vermutlich sollte eh das Instanzfeld benutzt werden:

textField = new JTextField();