# JTextArea mit Copy Paste Funktion



## iChaos (4. Jul 2010)

Ich bin gerade am Chat programmieren und nun stellt sich die Frage;

Kann man in einem JTextArea die Shortcuts wie ctrl + c/v erlauben? Beim JTextfield sind die ja als Standard drin... Oder muss man die selber programmieren, mit einem Actionlistener oder so?

Gruss


----------



## eRaaaa (4. Jul 2010)

Huch, haben nicht alle Textkomponenten in Swing diese copy&paste-Funktionalität ?
Sollte doch eig. also auch in der TextArea funktionieren?


----------



## iChaos (6. Jul 2010)

Hi

Das Problem ist, wenn ich es editable = false setze, funktioniert nichts mehr... 
Als Lösungsansatz hätte ich jetzt, alle Eingaben abzufangen, damit man die Copy Funktion verwenden kann.
Hat jemand ne bessere Idee?


----------



## VfL_Freak (6. Jul 2010)

iChaos hat gesagt.:


> Das Problem ist, wenn ich es editable = false setze, funktioniert nichts mehr...
> Als Lösungsansatz hätte ich jetzt, alle Eingaben abzufangen, damit man die Copy Funktion verwenden kann.
> Hat jemand ne bessere Idee?



hmm, wenn das Feld nicht editierbar ist, wirst Du auch keine Eingaben haben, oder ???:L

Theoretisch könntest Du den Text im Feld doch mit "meinFeld.getText()" holen, oder ?

Gruß
Klaus


----------



## eRaaaa (6. Jul 2010)

iChaos hat gesagt.:


> Hi
> 
> Das Problem ist, wenn ich es editable = false setze, funktioniert nichts mehr...
> Als Lösungsansatz hätte ich jetzt, alle Eingaben abzufangen, damit man die Copy Funktion verwenden kann.
> Hat jemand ne bessere Idee?



Also so ganz verstehe ich dein Problem immer noch nicht.
Auch wenn die TextArea setEditable(false) gesetzt ist kann man dennoch den Text markieren + kopieren(auch mit CTRL+C)
Was halt nicht geht ist das Einfügen, aber das sollte klar sein bei setEditable(false) ??
(da könnte man(weiss nicht ob es da eine bessere Lösung für gibt) sicherlich auch einen KeyListener o.ä. registrieren und dann dort einfach setText benutzen(das geht ja auch weiterhin!), wobei ich mich dann wiederum frage, wo der Sinn des setEditables wäre ???:L)


----------



## iChaos (6. Jul 2010)

hää xD
@eRaaaa;
In meinem Chat gibt es ein Textarea wo die Messages angezeigt werden und ein Textfield wo die Messages eingegeben werden.
Das Problem ist nun, wenn ich einen Link oder sonst was versenden will, nützt es ja dem gegenüber nicht, wenn er den Text nicht "rausnehmen" kann. Um aber Eingaben von sich aus in das Textarea zu verhindern, wird es uneditierbar gemacht,was wiederum das Problem wirft, dass ich nichts mehr rauskopieren kann...
Bei mir funktioniert es nach wie vor nicht... Kann es sein, dass du AWT verwendest?


----------



## eRaaaa (6. Jul 2010)

iChaos hat gesagt.:


> Bei mir funktioniert es nach wie vor nicht... Kann es sein, dass du AWT verwendest?



Nein 
Da ich mir jetzt auch selbst unsicher war, habe ich mal eben ein KSKB gemacht:

```
public static void main(String[] args) throws Exception {
		
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				JFrame frame = new JFrame();
				JPanel panel = new JPanel();
				final JTextArea area = new JTextArea(20,20);
				area.setText("Hallo Welt!");
				area.setEditable(false);
				panel.add(area);
				frame.add(panel);
				frame.pack();
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setLocationRelativeTo(null);
				frame.setVisible(true);
			}
		});
	}
```

funktioniert bei mir unter Windows + Linux(Ubuntu)! 
Kann es evtl. sein, dass deine TextArea gar nicht den Fokus hat ? (STRG+A funktioniert? Was ist wenn du den Text mit der Maus selektierst und dann STRG+C drückst? )


----------



## iChaos (6. Jul 2010)

lol xD
Funktioniert plötzlich... Kannst mir für meine Blödheit ein Forenwarning geben!
kA wieso , wahrscheinlich habe ich den Text nicht richtig markiert oder so...
Thema ist dann erledigt und kann geclosed werden, vielen Dank für deinen Aufwand und Beispiel!


----------

