|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
[Java] JTextArea
Ciao
qualcuno sa come riuscire ad ottenere il testo di una riga di una JTextArea? pensavo ci fosse un metodo nelle API del jdk 1.4.2 non ho trovato nulla di utile.. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
prova così:
Codice:
Element e = textArea.getDocument().getDefaultRootElement(); int c = e.getElementCount(); for (int i=0; i<c; i++) { Element element = e.getElement(i); int start = element.getStartOffset(); int end = element.getEndOffset(); try { String line = textArea.getText(start, end-start); } catch (BadLocationException ble) { System.err.println(ble.getMessage()); } } |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
Grazie Mille kingv
stasera quando vado a casa provo. ciao |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
ci ho provato...pero' avevo omesso una cosa..
la mia jtextarea ha un insets(70,70,70,70) lineWrap(true) in maniera da "formattare" dei margini dovrei ottenere la riga che vedo a "video".. il modo da te suggerito (e ti ringrazio nuovamente per il suggerimento) estrae le righe separate diciamo...da uno "\n" acch non so piu' cosa fare ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
![]() non capisco le linee riesce a separartele o ne tira su una sola? il '\n' lo puoi togliere in vari modi. |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
sono stato un po' oscuro...ed ho anche sbagliato a scrivere il codice!
ho una JTextArea: String stringa = "molto testo" JTextArea jta = new JTextArea(); jta.setMargin(new Insets(70,70,70,70)); jta.setLineWrap(true); // se non lo metto nonostante i margini va oltre jta.setText(stringa); praticamente avendo settato i margini di jta, quando inserisco il testo alla jtextarea la stringa va a capo ("costretta" dal setLineWrap e dal setMargin)anche quando non ha al suo interno un "\n" (cosa di cui necessito). Io dovrei, per esigenze, calcolare il numero di linee che avro' (e che vedo) sulla jta, il calcolo con il metodo che mi avevi suggerito ed anche il getLineCount() (ho fatto qualche prova) tiene conto degli \n. esempio: String stringa = "Non riesco a risolvere il problema"; | |Non riesco a risolvere| | | | il problema | | | | | | margine corpo margine dovrei calcolare quindi 2 linee. non so se sono stato piu' chiaro... |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
penso di aver capito, tu vuoi considerare come linea solo quelle inserite dall'utente mentre ti vengono considerate anche quelle derivanti dal line wrap. ho capito bene? |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
in realta' e' il contrario,
devo considerare (conteggiare e prendere) quelle derivanti dal line wrap e questo purtroppo con il metodo che mi avevi suggerito ed anche il getLineCount() non avviene non assolutamente idea di come fare ![]() p.s. la mi jtextarea e' un anteprima di stampa che riempo prendendo il testo da un db. |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
vittoria
king!!!!
non so se ti interessa, ma qui http://www.javaalmanac.com/egs/javax...ppedLines.html ho trovato la soluzione. ![]() ![]() |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
buono a sapersi ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:45.