ActionListener pour un texte spécifique à l'intérieur d'un JTextArea?
J'ai dans mon application un chat composant qui a une JTextArea
sur elle.
Maintenant, comment puis-je ajouter un ActionListener-comme le cas pour un texte spécifique (comme l'étudiant://xxxx)?
Alors, quand je clique sur ce texte (étudiant://xxxx) quelque chose va se passer.
Merci.
Vous devez vous connecter pour publier un commentaire.
Ici d'essayer ce petit programme, cliquez au début de l'étudiant://, cela fera apparaître une boîte de Dialogue de message
Pas, ne considèrent même pas à ce depuis ActionListeners sont pour JButtons ou tout autre dérivé de AbstractButton mais pas pour JTextComponents (sauf pour JTextFields). Peut-être vous voulez un MouseListener.
Ceci dit, tu seras peut-être mieux avec le texte de deux composants, un JTextArea pour afficher toutes les réponses, y compris l'utilisateur, et juste en dessous de ce dans un BorderLayout.SUD type de poste, un component swing jtextfield pour permettre à l'utilisateur d'entrer du texte dans le chat. Puis donner que le component swing jtextfield un ActionListener (c'est légal), de sorte que "entrée" actionnera l'auditeur.
Edit 1
Vous affirmez:
Ouais, en regardant vos commentaires, mon vote est pour vous afficher les chats pas dans un JTextArea, mais plutôt dans une JList, l'une avec un SelectionListener. Vous pouvez ensuite répondre facilement à la souris cliquez sur les événements, et sera plus facilement obtenir de l'information utile à partir de la "ligne" cliqué sur (si vous remplissez les JList avec des objets intelligents). Vous aurez besoin de rédiger un rendu de cellule personnalisé qui permet à plusieurs lignes de texte à afficher, probablement l'un qui montre un JTextArea, mais le tutoriel sur JLists vous permettra de commencer sur ce.
JTextArea
getChatter()
qui renvoie la ChatUser qui a envoyé la ligne. Aller orientée objet, tous les le chemin!Est en appuyant sur ENTRÉE au lieu de la souris-cliquez sur ok?