Autor Thema: JTextarea auslesen in Array...  (Gelesen 8727 mal)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
JTextarea auslesen in Array...
« am: 25.01.06 - 14:36:01 »
Hallo zusammen,

ich möchte den Inhalt einer JTextarea in ein Array schreiben. Gibt es zum Durchlaufen der
einzelnen Zeilen ein Iterator oder ähnliches? Ich hab enur die Rückgabe per '.getText()'
gefunden, aber dann müsste ich ja selbst den String auseinanger schnibbeln.
Hat jemand von euch eine Idee bzw. einen Tipp?

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #1 am: 25.01.06 - 15:46:45 »
Hab ich noch nicht gemacht.
JTextArea hat zumindest im Java5 (du hast keine Version genannt) eine Methode getLines(). Wenn das irgendwas sinnvolles zurückgibt, würd ich da weitersuchen. Z.B. getRows(). Das implementierte Modell ist com.javax.swing.Document. Vielleicht gibts da was.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: JTextarea auslesen in Array...
« Antwort #2 am: 25.01.06 - 16:15:08 »
Ich glaube, die Textarea speichert einen Zeilenumbruch als "\n". Wenn das stimmt müsstest du nur ein split() machen, um ein Array zu bekommen
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: JTextarea auslesen in Array...
« Antwort #3 am: 26.01.06 - 08:11:13 »
@ Thomas und kennwort,

vielen Dank (!) für euere Antworten  :), ich werde das gleich mal mit .split() versuchen. Mit .getRows() bin ich nicht weiter gekommen. Benutzen tue ich Java 5.
 
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: JTextarea auslesen in Array...
« Antwort #4 am: 26.01.06 - 08:52:16 »
Hi Thomas,

hast du vielleicht ein kurzes Beispiel zur Hand, im moment will es irgend wie nicht?
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #5 am: 26.01.06 - 22:23:19 »
Mit .getRows() bin ich nicht weiter gekommen. Benutzen tue ich Java 5.
Das war auch quatsch.
So etwas wie:
Zitat
String [] linesTa = null;

linesTa = textArea.getText().split("\n");

if (res!= null) {
 For(String lineTa: linesTa) {
 System.out.println(lineTa);
}
}
sollte funktionieren.

Habs allerdings nicht ausprobiert.

Dieses Zusammenklatschen von UI-Komponenten mit Businesslogik führt allerdings imho zu unlesbaren Code. Ich kann das am Wochenende mal "Scott Delap"-Stil durchprogrammieren.
Sieht erstmal wie völliger overkill aus. Ist aber imnsho richtig.

Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: JTextarea auslesen in Array...
« Antwort #6 am: 27.01.06 - 08:00:42 »
Hi Axel,

jep, vielen Dank für das Beispiel. Damit komme ich erstmal weiter  :) , bin aber auch sehr an
deinem "Scott Delap"-Stil-Code interessiert. Wenn du dazu am Wochenende kommst,
würde ich mich sehr freuen.

Bezüglich '.split()' gibt es nicht viel Info, ich habe einige Bücher durchsucht, aber nun  ;D

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: JTextarea auslesen in Array...
« Antwort #7 am: 27.01.06 - 09:09:50 »
Dieses Zusammenklatschen von UI-Komponenten mit Businesslogik führt allerdings imho zu unlesbaren Code. Ich kann das am Wochenende mal "Scott Delap"-Stil durchprogrammieren.
Sieht erstmal wie völliger overkill aus. Ist aber imnsho richtig.

Axel

Du könttest ja eine Klasse von JTextArea ableiten, die dir die Zeilen in einem Array liefert und dabei das Wissen, wie das genau gemacht wird, für sich behält.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #8 am: 27.01.06 - 18:38:25 »
Du könttest ja eine Klasse von JTextArea ableiten, die dir die Zeilen in einem Array liefert und dabei das Wissen, wie das genau gemacht wird, für sich behält.
Die Gui ist das Interface zwischen dem Anwender und dem Business Modell.
Sofern der Array (wahrscheinlicherweise) zum Business Modell gehört, kann man mit JGoodies Binding einen direkten Kommunikationskanal zwischen dem Modell der Textarea und einem Bean-Property im Businessmodell aufbauen. Und dort irgendwo (am besten oft im Businessmodell) eine Validierung einklinken.
Die Erweiterung von Textarea bläht die GUI nur mit Dingen auf, für die sie eigentlich nicht zuständig ist (Weiterverarbeitung von Anwendereingaben).
Zumal eine Maske ja in der Regel nicht aus einer Textarea besteht, sondern noch weitere Felder hat. Soll man dann für jedes Feld eine neue Klasse erstellen?
Ich hoffe, ich finde dieses Wochenende die Zeit dazu.
Bin ziemlich überzeugt von dem Zeug.

Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: JTextarea auslesen in Array...
« Antwort #9 am: 27.01.06 - 20:08:46 »
Was ich meinte war, die JTextArea-Klasse um eine Methode zu erweitern, die Zeilenumbrüche in einem Array abbildet, statt mit "\n" in einem String. Die JTextArea-Klasse ist ja die einzige, die weiß, wie das geht.
Ich erkenne da auch keine Weiterverarbeitung von Anwendereingaben, nur eine veränderte Interpretation eines Zeilenumbruchs eben.

Zitat
Zumal eine Maske ja in der Regel nicht aus einer Textarea besteht, sondern noch weitere Felder hat. Soll man dann für jedes Feld eine neue Klasse erstellen?
Also das verstehe ich gar nicht.

Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #10 am: 28.01.06 - 09:48:34 »
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.  ;D

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
« Letzte Änderung: 28.01.06 - 10:16:54 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #11 am: 30.01.06 - 06:23:30 »
Ich bin zwar jetzt nicht dazu gekommen, das durchzuprogrammieren. Aber die Ideen sind in meinem openSores Projekt auf Sourceforge verwirklicht:
http://cvs.sourceforge.net/viewcvs.py/javahelpgui/
(Modul help_ws_swing).
Ich werde nun bald beschreiben, wie man daraus mit ein paar Handgriff ein eigenes Eclipse-Projekt machen kann (hoffentlich) und das ans Laufen bekommt.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: JTextarea auslesen in Array...
« Antwort #12 am: 15.02.06 - 10:10:46 »
Hi Axel,

sorry das ich erst jetzt auf dieses Thema antworte, war ehrlich ziemlich busy.  :-[
Danke für den Link und die Aussicht auf die Beschreibung zum Eclipse-Projekt!
I'am waiting...  ;)

danke...
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #13 am: 15.02.06 - 12:04:14 »
und die Aussicht auf die Beschreibung zum Eclipse-Projekt!
I'am waiting...  ;)
Du meintest Aussicht darauf, durch eigenes commiten in den sourcecode tiefere Einblicke in das Design dieser beispielhaften Java Desktop Anwendung zu gewinnen.  ;D

Bezüglich zu praktisch allem was ich bisher zum Thema Kommentierstil in diesem Forum zum besten gegegeben habe und dem derzeitigen Source Code, hmm. sagen wir. gelten diese Worte meines Idols:
[Hani Suleiman]
the mode of operation is very much talked about an idealized world but reality definitely intrudes
[/(Hani Suleiman]
Auch ich habe zur Zeit überraschend wenig Zeit. Aber ich will auf jeden Fall am Wochenende eine Beschreibung posten, wie man sich den Source code aus sourceforge nach Eclipse runterläd und zumindest ans Laufen bekommt. Es sind eigentlich sehr wenig Schritte.

@LEUTE: Beteiligt euch. Commitet Code. Versucht !!Help!! zu verbessern. Oder mein kleines Ruderboot hier. Setzt euch ans Ruder.
Werdet OpenSor .. ich meine .. openSource Entwickler:

[Hani Suleiman]
 Are you saying open source developers are itchy?

They have a rash in fact; it is not a mere itch. I was actually having this conversation last night at the pool party [At TheServerSide Java Symposium] and I think there was a consensus in fact that open source people, people who start off open source projects are on the whole egomaniacs. They are people who can't image a world where their name isn't in headlines because when you think about it, the care and love that a lot of developers feel towards their code, when you put it out there, you are putting a chunk of yourself out there for the world to see and so you need some measure of confidence in order to be able to that and I'll go to the next step and say it's not just confidence you need, you need to actually think you're a pretty hot stuff. Its ego-driven development in many ways, it is the itch combined with the "I'm good enough to deal with this rash problem I have and I want everyone to get my miracle cream."
[/Hani Suleiman]

Der Mann ist übrigens selbst an mindestens 3 bis 4 openSource Projekten beteiligt.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: JTextarea auslesen in Array...
« Antwort #14 am: 15.02.06 - 12:36:21 »
Hhhmmm, uiuiui, ich glaube nicht, ich weiss, ich stehe noch zuweit am Anfang mit meinen
Java-"Künsten", um Sourcecode oder der Gleichen aus meinen Projekten zu posten, bzw.
Hilfestellungen geben zu können.

Eine Mitarbeit oder Teilnahme würde ich gerne tuen, aber, na ja, siehe oben....

 
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: JTextarea auslesen in Array...
« Antwort #15 am: 16.02.06 - 23:40:18 »
Ich hab jetzt angefangen lokalen Datenbanksupport einzubinden.
Mach das mit MySQL5, weil wir das zur Zeit auch in der Firma verwenden.
Das ist aber sowieso alles nicht so wahnsinnig abhängig von der Datenbank. Am logischsten wären wohl leichtgewichtigere Datenbanken wie Derby oder HSQL. Ich hab aber wenig Zeit.
Am liebsten würde ich den ersten Import mit Andreas Schmidt machen. Der hat Interesse geäußert. Vielleicht gibt es noch ein paar Ecken und Kanten.
Bei mir ist das ziemlich automatisch. Man muß nur in MySQL eine Datenbank ohne Tabellen erzeugen. Den Rest erledigen Tools.
Der GUI Teil ist relativ kompliziert, aber bei anderen Teilen kann man sicher mitmachen. Ich würd dann auch ein paar Links schicken und Fragen beantworten.
Zur Zeit bin ich in der Firma wirklich sehr stark eingespannt. Ich hoffe aber am WE ein paar Sachen auf die Reihe zu kriegen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz