Recuperer le mot selectionné -Java-

Fermé
sarounette - 15 mai 2012 à 21:38
 sarounette - 17 mai 2012 à 21:30
Saaaalut Tout le monde ,

Mon application est la suivante :
je dispose d'un JTextArea dans lequel je vais afficher des phrases , si l'user sélectionne un mot dans ce JTextArea , je dois récupérer ce "mot selectionné" pour le soumettre a un certain traitement ..je sais que je dois utiliser un listener mais lequel ?? et comment le faire j'ai trouvé bcp de tutos mais je vois pas exactement comment faire ...y aura t il quelqu'un qui puisse m'aider pleaaaase !!?
A voir également:

3 réponses

Utilisateur anonyme
17 mai 2012 à 20:01
Salut!

Voici un exemple d'implémentation. Double-clique sur un mot ou sélectionne une partie du texte avec la souris et le texte sélectionné apparaîtra en bas de la fenêtre.

En ce qui te concerne, il faut ajouter un MouseListener sur ton JTextArea. Récupère le texte sélectionné dans la méthode "mouseReleased(MouseEvent e)" du MouseListener (voir code ci-dessous).

Une fois le texte récupéré, tu en fais ce que tu veux.

package hacktrack;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class TextSelectDemo extends JFrame implements MouseListener {

	private JTextArea textarea;
	private JTextField textfield;

	public TextSelectDemo() {
		super("HackTrack - Text selection demo - 17/05/2012");
		initialize();
	}

	private void initialize() {
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new BorderLayout());

		textarea = new JTextArea(10, 8);
		textarea.setLineWrap(true);
		textarea.addMouseListener(this);
		textarea.setText("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum");
		c.add(textarea, BorderLayout.CENTER);

		textfield = new JTextField();
		c.add(textfield, BorderLayout.SOUTH);
		
		setPreferredSize(new Dimension(640,480));
	}

	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mousePressed(MouseEvent e) {

	}

	@Override
	public void mouseReleased(MouseEvent e) {
		JTextArea jta = (JTextArea) e.getSource();
		String selectedTxt = jta.getSelectedText();
		textfield.setText(selectedTxt);
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	public static void main(String[] args) {
		TextSelectDemo demo = new TextSelectDemo();
		demo.pack();
		demo.setVisible(true);
	}
}

1
Personne !!!!
0
Merci Bcp Hack Track .
0