Das du in Zeile 124 der Klasse Frame_Controller (btw: Underscores in Klassennamen? Ernsthat???) gleichzeitig versucht hast, die Liste zu editieren.
at application.Frame_Controller.karteikasten(Frame_Controller.java:124)
[code=Java]
List<Vokabel> l = new ArrayList<Vokabel>();
l.add(new Vokabel("FRAGE", "ANTWORT"));
ObservableList<Vokabel> list = FXCollections.observableList(l); // <---
list.addAll(l); // <---
englisch.setItems(list);
[/code]
Der Grund liegt hier in den beiden markierten Zeilen. Und mal abgesehen davon... Was soll der Blödsinn???
Warum fügst du die "Vokabel" erst einer List a zu, diese Liste dann der nächsten Liste b und dann gleich noch einmal zu b?
Mach das so hier:
[code=Java]
ObservableList<Vokabel> list = FXCollections.observableArrayList(); // Achtung: hier ist ein "Array" dazugekommen
list.add(new Vokabel("FRAGE", "ANTWORT"));
englisch.setItems(list);
[/code]
Und fertig!
Du musst deine Daten nicht erst noch in eine andere Liste verpacken (unnötiger Speicherverbrauch und allgemein blödsinnig). ObservableList erweitert die normalen Listen und fügt "nur" ein paar nette Features wie Databinding und "Überwachung" á la PropertyChangeEvent hinzu.