# Text per Button von ein textfeld in das andere?



## blackhead77 (1. Mrz 2008)

Hallo

Ich muss mich in den javaEditor einarbeiten. 

Meine Frage ist was muss ich beim Button reinschreiben wenn der text von textfield1 zu textArea übertragen werden soll?

Hoffe dass dass reicht dass mir einer helfen kann.

Viele grüße
Blackhead77


----------



## 0x7F800000 (1. Mrz 2008)

blackhead77 hat gesagt.:
			
		

> Ich muss mich in den javaEditor einarbeiten.


warum?  :shock:  ich kann wetten, dass im umkreis von 500km kein mensch einen schrottreiferen rechner hat als ich, aber selbst bei mir läuft eclipse mehr oder weniger problemlos, wozu brauchst du diesen merkwürdigen eigenbau-editor (nja, ich finds zwar ganz toll was der mensch da programmiert hat, um so einen funktionsfähigen editor zu schreiben muss man ziemlich viel draufhaben :toll: , aber imho ists ein neuerfundenes dreieckiges Rad :bloed: )

zu der eigentlichen frage: du brauchst einfach einen kleinen actionListener für's JButton zu schreiben, der den text aus einem feld holt und in das andere reinschreibt, etwa so:

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

public class HelloGui extends JPanel implements ActionListener{

private JTextField textfield;
private JLabel label;
private JButton button;

public HelloGui(){
    //layout
    setLayout(new GridLayout(3,1));
    
    //components
    textfield=new JTextField(50);
    label=new JLabel("Hier wird der text reinkopiert");
    button=new JButton("Text Kopieren");
    button.addActionListener(this);

    add(textfield); add(label); add(button);
}

public void actionPerformed(ActionEvent e){
    label.setText(textfield.getText());
}

public static void main(String[] args){
    JFrame f=new JFrame("Blah");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(500,300);
    f.getContentPane().add(new HelloGui());
    f.setVisible(true);
}

}
```

habs nicht auf syntax checken lassen oder irgendwie getestet, dürfte aber fast funktionieren... kP, eigentlich dürfte es hir keine unklarheiten geben, hier tut sich ja fast gar nix in dem programm...

edit: so, habs jetzt sogar mal kompiliert, die bei der fenstergröße hab ich mich beim ersten versuch ein wenig verhauen


----------



## blackhead77 (1. Mrz 2008)

danke für die Hilfe

die Werte sind da aber Strings ich brauche Integer.

Das Programm soll dan Quadrieren zb. 5*5 =25 und 25 unten ausgeben






> warum?  ich kann wetten, dass im umkreis von 500km kein mensch einen schrottreiferen rechner hat als ich, aber selbst bei mir läuft eclipse mehr oder weniger problemlos, wozu brauchst du diesen merkwürdigen eigenbau-editor (nja, ich finds zwar ganz toll was der mensch da programmiert hat, um so einen funktionsfähigen editor zu schreiben muss man ziemlich viel draufhaben  , aber imho ists ein neuerfundenes dreieckiges Rad  )


Denn benutzen wir jetzt in der Schule deshalb


----------



## 0x7F800000 (1. Mrz 2008)

blackhead77 hat gesagt.:
			
		

> die Werte sind da aber Strings ich brauche Integer.
> 
> Das Programm soll dan Quadrieren zb. 5*5 =25 und 25 unten ausgeben


http://java.sun.com/j2se/1.3/docs/api/java/lang/Integer.html#parseInt(java.lang.String)



> Denn benutzen wir jetzt in der Schule deshalb



und dass dieser editor so toll sein soll, das hat dir wahrscheinlich dein lehrer erzählt, und du hast es ihm auch noch geglaubt heh? Wenn die Rechner in der Schule älter sind dann wärs imho besser mit einem simplen Text-Editor zu arbeiten, da gewöhnt man sich wenigstens nichts falsches an...


----------



## L-ectron-X (1. Mrz 2008)

So schlecht ist der JavaEditor nun auch wieder nicht. Ich benutze ihn selbst für kleine KSKBs. Ich denke, er eignet sich sehr gut für Einsteiger. Er ist klein und schnell, hat aber auch seine Macken.


Damit du mit den Werten aus den Textfeldern arbeiten/rechnen kannst, müssen sie in einen anderen Typ geparst (verwandelt) werden. Du weißt, dass du aus einem Textfeld nur Zeichenketten (Strings) holen kannst. Und du weißt, welchen Typ du zur Weiterverarbeitung benötigst (Integer bzw. int). 

Also suchst du in der API-Doc unter java.lang nach beiden Klassen (String und Integer) und dort nach geeigneten Methoden, um eine Zeichenkette in den gewünschten Typ zu parsen.
In String wirst du nicht fündig, aber in Integer. Da gibts eine statische Methode parseInt(String s).

Also machst du Folgendes: Du holst den Text aus dem Textfeld und übergibst ihn der parseInt()-Methode.
Als Rückgabewert erhältst du dann schon den primitiven Datentyp int, mit dem du deine Berechnungen durchführen kannst.

```
int i = Integer.parseInt(textfield.getText());
```

Beachte auch, dass Zeichen, die keine Zahlen sind nicht in einen int geparst werden können und die Operation somit auch eine NumberFormatException werfen kann.


----------



## Guest (2. Mrz 2008)

Vielen vielen Dank für die Hilfe

Werde denn hinweis evtl. weitergeben das der JavaEditor nicht so gut ist.

Eine Frage habe ich aber noch warum funktioniert bei der Ausgabe dieses nicht?

textArea1.setint(a);[/code]


----------



## Guest (2. Mrz 2008)

a ist der integerwert


----------



## Murray (2. Mrz 2008)

Was soll denn setint für eine Methode sein?


----------



## blackhead77 (2. Mrz 2008)

das habe ich hiervon abgeleitet.

label.setText(textfield.getText());


----------



## Murray (2. Mrz 2008)

Du hast Dir also gedacht, wenn es eine Methode setText gibt, dann müsste es auch setint geben? Das ist aber nicht so. Aber setText reicht doch: Du musst lediglich den int-Wert in einen String wandeln. Auch da hilft wieder ein Blick in die API-Dokumentation: 


			
				javadoc hat gesagt.:
			
		

> *toString*
> 
> public static String toString(int i,
> int radix)
> ...


----------

