# JTextField: Kompletten Text bei Selektion markieren



## Live (8. Sep 2005)

Hallo!

Wie schaffe ich es, dass bei einem JTextField, bei Selektion des Feldes durch den Benutzer via Maus oder Tab, der komplette Text markiert wird (der STRG+A Effekt  ) und nicht nur der Cursor ins Feld gesetzt wird?

Danke schonmal!


----------



## The_S (10. Sep 2005)

1. JTextField FocusListener adden
2. Wenn JTextField den Focus bekommt mit select(int start, int end) den zu selektierenten Text bestimmen


----------



## Live (10. Sep 2005)

Danke für die Info, genauso habe ich es auch schon probiert - allerdings ohne Erfolg:


```
Test.getContentPane().add(new JLabel("Test: "));		
		final JFormattedTextField test = new JFormattedTextField(
		        new DateFormatter(DateFormat.getDateInstance (DateFormat.SHORT, Locale.GERMAN)));
		sb.addFocusListener(new FocusListener() {
			public void focusGained(FocusEvent arg0) {
				test.selectAll();
			}
			public void focusLost(FocusEvent arg0) {
				// TODO Auto-generated method stub				
			}
			
		});
```

Der Listener spring zwar an, aber ohne Selektion (weder mit select(), noch mit selectAll()


----------



## The_S (10. Sep 2005)

Dann muss dein Fehler woanders liegen, weil das hier funzt:


```
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

public class SelectionTest extends JFrame implements FocusListener {
	
	JTextField test = new JTextField("Selection", 7);
	
	public SelectionTest() {
		
		getContentPane().setLayout(new FlowLayout());
		test.addFocusListener(this);
		getContentPane().add(new JTextField("No Selection", 7));
		getContentPane().add(test);
	}
	
	public static void main(String[] args) {
		
		SelectionTest st = new SelectionTest();
		st.setVisible(true);
	}
	
	public void focusGained(FocusEvent foc) {
		test.selectAll();
	}
	
	public void focusLost(FocusEvent foc) {
	}
}
```


----------



## Roar (10. Sep 2005)

warum sagst du du benutzt ein JTextField, benutzt aber ein JFormattedTextField?

so gehts:


```
SwingUtilities.invokeLater(new Runnable() {
					public void run() {
						field.selectAll();
					}
				});
```


----------



## Live (10. Sep 2005)

Sorry, dachte die beiden würden sich diesbzgl. nichts tun - mein Fehler!   

Jetzt gehts auf jeden Fall - danke sehr!


----------

