Was ich so ungefähr sagen will ist, dass in MVC JTextArea sich überhaupt nicht dafür interessieren sollte, was in ihr eingegeben worden ist.
Das ist Sache des Modells.
Das Modell besteht aus Pojos i.S.v. JavaBeans.
Mit der Binding Api kann man einen Kommunikationskanal zwischen Properties der Pojos (Modell) und dem implizit sowieso immer vorhandenen Modell der JTextArea aufbauen.
Hmm. Es ist leider echt schwer zu erklären. Vielleicht, weil ich nicht vollständig verstehe, was ich da eigentlich gemacht habe.
Es macht jedenfalls Sinn Gui-Komponenten wie JTextArea hinsichtlich der Daten, die sie darstellen sollen, möglichst dumm zu halten. Sie sind nur für das Rendering zuständig.
Du willst ja die JTextArea nur ableiten, damit sie Daten (geringfügig) weiterverarbeitet. Diese Daten stehen aber sowieso btw. eigentlich gar nicht in JTextArea sondern in JTextArea.getDocument().
Mit Binding-Frameworks kann man jTextArea.getDocument.getText() sowieso direkt mit Pojo-Properties im Modell synchronisieren (und dort auch die Validierung stattfinden lassen). Der Adapter String -> String[] kann auch dort stattfinden. Und da ist er besser plaziert.
Was ich in den letzten Wochen bei dem modernen Swing-Zeug gelernt habe, ist, dass man Gui-Komponenten möglichst dumm halten soll. Man kann sowieso praktisch alles im Modell machen. Und das ist wesentlich besser. Es gibt zum Beispiel
keine Situation, in der ich jTextArea.getText() benutzen könnte. Wegen mir können die das deprecaten.
Die Felder in der Gui haben ja Entsprechungen im Business-Modell. Dort sind sie in Pojo-Klassen gruppiert. Das habe ich mit der mißverständlichen Äußerung gemeint.
Im Help-Webservice Client funktioniert das wirklich gut (ausser z.Zt. bei JTree). Ich poste den Code ja dieses WE sowieso. Alles andere wäre langsam peinlich.
Gruß Axel