killerb0b
Messages postés12Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention 6 juillet 2006
-
18 avril 2006 à 15:24
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 2006
-
19 avril 2006 à 18:46
Bonjour,
Après avoir consulter beaucoup de forums sur ce sujet qui n'ont pas su m'aider, je viens poser une question en espérant que quelqu'un pourra me répondre.
En fait, je possède un formulaire qui contient un JTable Swing de grande taille. La plupart des cellules de ce JTable contiennent beaucoup de texte et le programmeur qui est passé avant moi à choisi d'inserer dans le texte de ces cellules des balises HTML (<HTML></HTML> et
) de manière a forcer les retours a la ligne dans les cellules de facon a ce qu'elle ne soit pas trop large.
Bien entendu ces balises n'apparaissent pas à l'utilisateur lors du rendu du JTable.
Jusqu'ici tout fonctionne bien, mais ce qui m'a été demandé et de rendre ces cellules éditables, ce que j'ai reussi a faire grâce à la methode isCellEditable d'une classe dérivant de AbstractTableModel.
Le probleme est que lorque je double-clic dans une cellule pour éditer son contenu, le code HTML qui a été utilisé pour la mise en forme réapparait.
Quelqu'un pourrait-il me dire comment je pourrais faire disparaitre ces balises en mode editions kit à les remettre lorsque l'utilisateur validera son edition afin que cette mise en forme soit transparente pour lui?
J'ai commencais a creuser avec les DefaultTableCellRenderer mais cela fait peu de temps que je programme en Java et je galère un peu.
killerb0b
Messages postés12Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention 6 juillet 2006 18 avril 2006 à 17:27
Je veins de voir qu'il existait une classe DefaultCellEditor qu'il est possible de dériver de maniere à voir accés a des méthodes comme : addCellEditorListener, cancelCellEditing, getCellEditorValue, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing.
Est-ce la piste que je dois suivre?
Désolé si je fais un peu mon boulet, mais les JTables et toutes les classes qui gravitent autour sont vraiement nouveau pour moi et je vous assure que jevais de mon mieux.
thevman
Messages postés83Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention 3 juillet 2008 18 avril 2006 à 15:54
Solution système D: ... Une solution serait de passer par une fenetre intermediaire.
Qd la personne clique sur un bouton "modifier" ou un clique de souris sur ta cellule,
tu ouvre une fenetre avec ton texte en ayant fait un prétraitement auparavant (tu retire les balises HTML)
puis une fois les mofiication effectuer qd la personne click sur un bouton "ok" tu insére les balises a nouveau et tu inseres ton texte dans ta cellule.
Je Pense que y a mieux comme solutions, la c juste une idée comme ca
Nare Trouvé !!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 18 avril 2006 à 16:37
Salut,
sinon autre methode au moment ou ta cellue devient editable tu parse le
contenu et tu fais le menage des qu'elle redevient normale(non
editable) tu reformatte les chaines
killerb0b
Messages postés12Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention 6 juillet 2006 18 avril 2006 à 16:42
Whoua!! Quelle rapidité.
Merci a tout les deux pour vos suggestions.
thevman : Je garde ta solution sous le coude au cas où je n'arrive pas à faire mieux, mais mon chef préférerai que j'utilise l'edition des JTable.
ducheseb : Ton idée me semble très bonne mais ce qui me gène c'est que je ne sais pas à quelle endroit appeler ces méthodes pour qu'elles aient lieux juste après que l'utilisateur passe en mode édition.
Y a t-il un événement qui est déclenché au moment de ce passage?
killerb0b
Messages postés12Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention 6 juillet 2006 19 avril 2006 à 09:27
Merci pour la confirmation.
En revanche, si quelqu'un connait de bons exemples sur le sujet, je ne suis pas contre quelques bonnes adresses (y compris les exemples de Sun car je debute dans la programmation Java et je ne sais même pas où les trouver).