# ein Textfeld sperren, sobald anderes mit Inhalt gefüllt wird



## tinella (10. März 2006)

Hallo! 

Ich habe zwei Textfelder a und b die nebeneinander liegen. 

Ich möchte das textfeld a sperren, sobald jemand in das textfeld b schreibt (und umgekeht). 

Ich weiss nicht wie ich das machen muss, jemand ideen? danke.


----------



## mrno (11. März 2006)

In javax.swing.text.JTextComponent gibt es eine Methode namens setEditable(boolean state) mit dieser kannst du das textField sperren.

aTextField.setEditable(true);//standartwert
bTextField.setEditable(false);

Mfg mrno


----------



## dadom110 (13. März 2006)

mrno hat gesagt.:
			
		

> IaTextField.setEditable(true);//standartwert
> bTextField.setEditable(false);



Eingebunden in ein KeyListener

PS: Könnte so aussehen:


```
KeyListener KL=new KeyListener()
		{
			public void keyTyped(KeyEvent arg0) 
			{
				if (arg0.getSource()==aTextField)
				{
					bTextField.setEnabled(false);
				}
				else
				{
					aTextField.setEnabled(false);
				}

			}
			public void keyPressed(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}
			public void keyReleased(KeyEvent arg0) {
				// TODO Auto-generated method stub
			}
			
		};
		
		aTextField.addKeyListener(KL);
		bTextField.addKeyListener(KL);
```

stellte fest welches Element die Eingabe bekommen hat und deaktviert die andere. Die Deaktivierung bekommst du natürlich so dann erst mal nicht mehr raus, könnte man dann noch ne Prüfung einbauen die guckt ob das geänderte Textfeld leer gemacht wird und dann wieder beide aktivieren...

Mfg
Dom


----------



## RealHAZZARD (13. März 2006)

Alternativ zum KeyListener würde ich den DocumentListener empfehlen.
Hier gibts auch ein Beispiel.


----------

