Namen des Textfeldes bei Mausklick auslesen

desmoloch

Mitglied
hi!

ich möchte den Namen eines Textfeldes auslesen, sobald dies Textfeld angeklickt wurde. Dafür benutze ich den MouseListener. Nur wie komme ich an den Namen des Textfeldes?

Beispiel:

public void mouseClicked(MouseEvent me) {

//hier soll der name des angeklickten Objects ausgelesen werden!
}


über me.getSource() oder me.getComponent hab ich leider nichts gefunden! Es muss doch die Möglichkeit geben den Namen das angeklickent Objectes auszugeben


mfg Desmo

p.s. ich benutze 1.3.1!
 
Hallo!

Schau mal hier:
Code:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;

/**
 * @author      Darimont<br>
 * @version     1.0<br>
 */

public class JButtonExample extends JFrame {

	private JButton btn0, btn1, btn2;
	public JLabelExample() {
		super("JLabelExample");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		
		MouseAdapter handler = new MouseActionHandler();
		
		btn0 = new JButton("BUTTON0");
		btn0.setName("btn0");
		btn0.addMouseListener(handler);
		
		btn1 = new JButton("BUTTON1");
		btn1.setName("btn1");
		btn1.addMouseListener(handler);
		
		btn2 = new JButton("BUTTON2");
		btn2.setName("btn2");
		btn2.addMouseListener(handler);

		getContentPane().add(btn0,BorderLayout.NORTH);
		getContentPane().add(btn1,BorderLayout.CENTER);
		getContentPane().add(btn2,BorderLayout.SOUTH);		
		
		pack();

		setVisible(true);
	}

	public static void main(String[] args) {
		new JButtonExample();
	}
	
	class MouseActionHandler extends MouseAdapter{
		public void mousePressed(MouseEvent e){
			Object src = e.getSource();
			
			if(src instanceof Component){
				Component c = (Component)src;
				System.out.println(c.getName());
			}
		}
	}
}

Gruß Tom
 
hey super danke :)
leider funktioniert das casten auf component bei JTextField nicht ;)
ich habs jetzt so gemacht:

Code:
            if(feld instanceof JTextField){
                            JTextField c = (JTextField) feld;
                             Selektion = c.getText();
                        }

//edit:

anstatt JTextField benutze ich jetzt JTextComponent, so kann ich Textfelder und Areas abfragen ;)
 
Zuletzt bearbeitet:
Zurück