# JTextArea Zeile hinzufügen



## mhinz (30. Jul 2012)

Hallo,

ich habe ein kleines Tool geschrieben, welches ein Menü mit RadioButtons verwendet und nun möchte ich gerne, wenn einer der RadioButtons angeklickt wird, dass eine entsprechende Zeile in die JTextArea geschrieben wird, so dass man dies als Verlauf von Aktionen sehen kann...


```
public void itemStateChanged(ItemEvent e) {
		Object source = e.getItemSelectable();
		
		if (source == item1) {
			textArea1.append("item1\n");
		} else if (source == item2) {	
			textArea1.append("item2\n");
		}
	}
```

Allerdings werden immer beim Wechsel jetzt direkt beide Zeilen in die TextArea geschrieben. Kann mir einer sagen woran das liegt bzw. was ich daran ändern kann, dass es funktioniert?


----------



## tribalup (30. Jul 2012)

Wenn es eine Group ist, dann ändern sich beide buttons beim klicken.
Der eine wird abgewählt der andere gewählt. Das führt zu einem doppeltem Aufruf des Listeners.


----------



## mhinz (30. Jul 2012)

Ahh, okay.
Wie kann ich das ganze denn umgehen und es hinbekommen, dass nur eine Zeile in die JTextArea geschrieben wird?


----------



## tribalup (30. Jul 2012)

Puh bin auch noch nicht so fit, aber wenn du nen ActionListener statt nem ItemListener nimmst dann sollte das klappen.


```
public class MeinListener implements ActionListener()
{
	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getSource == item1) {
			textArea1.append("item1\n");
		} else if (e.getSource == item2) {	
			textArea1.append("item2\n");
		}
		
	}

}
```


----------



## eRaaaa (30. Jul 2012)

mhinz hat gesagt.:


> Ahh, okay.
> Wie kann ich das ganze denn umgehen und es hinbekommen, dass nur eine Zeile in die JTextArea geschrieben wird?



How to Write an Item Listener (The Java™ Tutorials > Creating a GUI With JFC/Swing > Writing Event Listeners)

Wieso benutzt du keinen anderen Listener?


----------

