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

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
PASCAL
Wow! Terabyte level
Wow! Terabyte level
Posts: 3587
Joined: Wed Nov 23, 2005 10:58 pm
Academic status: Alumnus/a
Gender:

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

Post by PASCAL » Sat Dec 22, 2007 11:45 pm

Αν έχεις μια JTextArea που γεμίζει κάθε φορά με ένα τυχαίο αριθμό γραμμών πώς μπορείς να τις περάσεις μία μία σε ένα Vector<String>;
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

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

Post by Luke » Sun Dec 23, 2007 12:49 am

Δε θα δώσω ολοκληρωμένη λύση αλλά μια ιδέα για το πώς το σκέφτομαι.
Θα διαβάσεις όλο του περιεχόμενο της text area και θα το αποθηκεύσεις σε ένα temp String. Από εκεί μπορείς να κάνεις κάποιου είδους tokenization (είτε μέσω της StringTokenizer ή με κάποιο δικό σου τρόπο) το οποίο θα προχωράει ώσπου να βρει χαρακτήρα αλλαγής γραμμής ('\n'). Όταν τον βρίσκει θα αποθηκεύει το String ως εκείνο το σημείο στην επόμενη θέση του vector. Δεν ξέρω αν χρειάζεσαι κάτι πιο συγκεκριμένο... Πες αν είναι.
Είμαι ένας μοναχικός cowboy...
User avatar
Zifnab
Venus Former Team Member
Posts: 7581
Joined: Tue Nov 15, 2005 2:42 am
Academic status: MSc
Gender:
Location: Connecticut
Contact:

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

Post by Zifnab » Sun Dec 23, 2007 3:52 pm

Μία λεπτομέρεια - Στο textarea αλλάζει γραμμή όταν απλά δεν χωράει... Δηλαδή κάνει Word Wrap και όχι \n όπως φαντάζομαι...Συνεπώς είναι πιο δύσκολο το tokenization... Δηλαδή το σπάς κάθε 60 π.χ χαρακτήρες και αν δεν είναι κενό τότε η λέξη που αρχίζει την πασάρεις στο επόμενο token...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

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

Post by HdkiLLeR » Sun Dec 23, 2007 5:19 pm

Εαν κατάλαβα καλά απλά έχεις ένα JTextArea object και θέλεις κάθε φορά που γράφει κάποιος κάτι μέσα να το περνάς σε ένα Vector<String>. Είναι λίγο διαφορετικό απο αυτό που λένε τα παιδιά παραπάνω, αλλά εάν εννοείς αυτό υπάρχει event πάνω στο object που σου μπορείς να κάνεις handle το οποίο καλείται κάθε φορά που αλλάζει το περιεχόμενο του textarea. Δεν το θυμάμαι τώρα για να σου πω ακριβώς ποιο είναι, αλλά εάν δεις τα available events για τα οποία μπορείς να γραψεις event listeners θα το βρείς. Εκεί θα γράψεις λίγο code ώστε κάθε φορά που καλείται ο handler σου για το event αυτό να παίρνεις όλο το περιεχόμενο του text area και να το κάνεις push back στο vector σου.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Post Reply

Return to “Προγραμματισμός”