Page 1 of 1

Γέμισμα Vector από JTextArea

Posted: Sat Dec 22, 2007 11:45 pm
by PASCAL
Αν έχεις μια JTextArea που γεμίζει κάθε φορά με ένα τυχαίο αριθμό γραμμών πώς μπορείς να τις περάσεις μία μία σε ένα Vector<String>;

Re: Γέμισμα Vector από JTextArea

Posted: Sun Dec 23, 2007 12:49 am
by Luke
Δε θα δώσω ολοκληρωμένη λύση αλλά μια ιδέα για το πώς το σκέφτομαι.
Θα διαβάσεις όλο του περιεχόμενο της text area και θα το αποθηκεύσεις σε ένα temp String. Από εκεί μπορείς να κάνεις κάποιου είδους tokenization (είτε μέσω της StringTokenizer ή με κάποιο δικό σου τρόπο) το οποίο θα προχωράει ώσπου να βρει χαρακτήρα αλλαγής γραμμής ('\n'). Όταν τον βρίσκει θα αποθηκεύει το String ως εκείνο το σημείο στην επόμενη θέση του vector. Δεν ξέρω αν χρειάζεσαι κάτι πιο συγκεκριμένο... Πες αν είναι.

Re: Γέμισμα Vector από JTextArea

Posted: Sun Dec 23, 2007 3:52 pm
by Zifnab
Μία λεπτομέρεια - Στο textarea αλλάζει γραμμή όταν απλά δεν χωράει... Δηλαδή κάνει Word Wrap και όχι \n όπως φαντάζομαι...Συνεπώς είναι πιο δύσκολο το tokenization... Δηλαδή το σπάς κάθε 60 π.χ χαρακτήρες και αν δεν είναι κενό τότε η λέξη που αρχίζει την πασάρεις στο επόμενο token...

Re: Γέμισμα Vector από JTextArea

Posted: Sun Dec 23, 2007 5:19 pm
by HdkiLLeR
Εαν κατάλαβα καλά απλά έχεις ένα JTextArea object και θέλεις κάθε φορά που γράφει κάποιος κάτι μέσα να το περνάς σε ένα Vector<String>. Είναι λίγο διαφορετικό απο αυτό που λένε τα παιδιά παραπάνω, αλλά εάν εννοείς αυτό υπάρχει event πάνω στο object που σου μπορείς να κάνεις handle το οποίο καλείται κάθε φορά που αλλάζει το περιεχόμενο του textarea. Δεν το θυμάμαι τώρα για να σου πω ακριβώς ποιο είναι, αλλά εάν δεις τα available events για τα οποία μπορείς να γραψεις event listeners θα το βρείς. Εκεί θα γράψεις λίγο code ώστε κάθε φορά που καλείται ο handler σου για το event αυτό να παίρνεις όλο το περιεχόμενο του text area και να το κάνεις push back στο vector σου.