Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
565 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JScrollPane et JTexArea

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JScrollPane et JTexArea

n°647523
full_phil
Posté le 18-02-2004 à 17:24:32  profilanswer
 

Voilà j'ai mis un JTextArea dans un JScrollPane, je mets à jour le JTextArea en le réécrivant à chaque fois (c pour tenir à jour des informations genre frames/s, etc...), et il se remets à jour très vite.
Le problème est que le JTextArea étant plus grand que le JScrollPane (cas normal avec la barre de défilement), le JTextArea reste bloqué en bas du défilement, et dès que je veux remonter ça me le redescend automatiquement au prochain refresh... Que faire pour pouvoir naviguer correctement ?

mood
Publicité
Posté le 18-02-2004 à 17:24:32  profilanswer
 

n°647548
nraynaud
lol
Posté le 18-02-2004 à 17:43:51  profilanswer
 

je retrouve, plus la propriété, c'est bizare.
 
 
il faut 1) ne pas tout réécrire à chaque fois mais faire des mises-à-jour, c'est beaucoup plus léger, et surtout, ça ne déplace pas le curseur, qui fait se déplacer l'ascenseur.
 
2) dans une première étape de modification, sauver la position du curseur avant de tout réécrire et le remettre à la place précédente après réécriture, c'est pas parfait (because wrapping, de mots etc.) mais en attendant de faire le 1), ça peut aider.


---------------
trainoo.com, c'est fini
n°647788
full_phil
Posté le 18-02-2004 à 21:39:46  profilanswer
 

Le probleme est que pour faire une update je suis obligé de tout recopier vu que je change chaque ligne non ?
 
Sinon je ne trouve pas la manière pour sauver une position de curseur

n°647804
nraynaud
lol
Posté le 18-02-2004 à 21:54:06  profilanswer
 

full_phil a écrit :

Le probleme est que pour faire une update je suis obligé de tout recopier vu que je change chaque ligne non ?
 
Sinon je ne trouve pas la manière pour sauver une position de curseur


http://java.sun.com/j2se/1.4.2/doc [...] Position()
http://java.sun.com/j2se/1.4.2/doc [...] ition(int)


---------------
trainoo.com, c'est fini
n°647866
full_phil
Posté le 18-02-2004 à 22:21:11  profilanswer
 

merci,
mais cela ne marche toujours pas... Je remplis les champs avec un setText pour la premiere ligne et un append pour les autre c la bonne méthode ?

n°647879
full_phil
Posté le 18-02-2004 à 22:31:03  profilanswer
 

Ah si cette fois ca marche sauf que : lol, bin.... là la scrollbar est bloquée de la meme maniere que à mon premier probleme mais cette fois en haut du JTextArea et qui fait que dès que je veux faire défiler vers le bas ca me le remonte automatiquement

n°647883
nraynaud
lol
Posté le 18-02-2004 à 22:37:40  profilanswer
 

non sûrement pas.
 
Au pire tu fais un setText() avec tout le texte d'un coup.
 
Mais le mieux, c'est de récupérer le Document par getDocument() et de faire des insertString et des remove() dessus aux bons endroits.
 
edit : tu peux passer null au dernier paramètre de insertString().


Message édité par nraynaud le 18-02-2004 à 22:42:04

---------------
trainoo.com, c'est fini
n°648113
full_phil
Posté le 19-02-2004 à 03:27:00  profilanswer
 

Bon, pour la premiere ligne ca marche parfaitement, mais je n'arrive pas avec l'offset à passer à la ligne....En ajoutant 1 ou même autre chose ca me le laisse sur la première ligne  
Ca doit etre simple mais je bloque

n°648490
nraynaud
lol
Posté le 19-02-2004 à 13:37:51  profilanswer
 

full_phil a écrit :

Bon, pour la premiere ligne ca marche parfaitement, mais je n'arrive pas avec l'offset à passer à la ligne....En ajoutant 1 ou même autre chose ca me le laisse sur la première ligne  
Ca doit etre simple mais je bloque

Dans un Document, tout se compte en caractère (en glyphe plus exactement). Il n'y a pas de notion de ligne.


Message édité par nraynaud le 19-02-2004 à 13:38:16

---------------
trainoo.com, c'est fini
n°648560
full_phil
Posté le 19-02-2004 à 14:19:47  profilanswer
 

J'ai avancé, et j'arrive à mettre à jour tout le JTExtArea (je faisais des tests pas assez complets), mais que ce soit avec un grand setTExt ou avec les insertString et remove, j'ai toujours ce problème de défilement bloqué.
Quand j'initialise pour la première fois le JTextArea, je suis obligé de modifier à la main la position du curseur avec les CaretPosition, et il semble me garder cette configuration. Mon JTextArea est static, cela vient peut-etre de ca ?

mood
Publicité
Posté le 19-02-2004 à 14:19:47  profilanswer
 

n°648584
nraynaud
lol
Posté le 19-02-2004 à 14:40:45  profilanswer
 

full_phil a écrit :

Mon JTextArea est static, cela vient peut-etre de ca ?

impossible.


---------------
trainoo.com, c'est fini
n°648776
full_phil
Posté le 19-02-2004 à 16:45:03  profilanswer
 

Tu es sûr que les mises à jour avec remove et insertString ne déplacent pas le curseur ? Car quand je désactive ces MAJ le JTextArea marche correctement... Je me perds dans cette affaire


Message édité par full_phil le 19-02-2004 à 22:34:25
n°649088
full_phil
Posté le 19-02-2004 à 22:29:55  profilanswer
 

Personne n'a une idée ? :(


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JScrollPane et JTexArea

 

Sujets relatifs
problème d' offset initial d'un JScrollPane et de requestFocusAjouter des Canvas ds JScrollPane
[RESOLUT] JScrollPane AutoScroolJScrollPane
[Java-Swing] Auto positionnement d'un JScrollPaneJScrollPane - Problème de MAJ
petit pb avec JScrollPaneScroller automatiquement en bas une JTextArea dans un JScrollPane ?
Alignement dans une JScrollPane, la merde[Java] Resizer un JScrollPane ?
Plus de sujets relatifs à : JScrollPane et JTexArea


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR