# Integer Zahl in Textfield ausgeben



## MiMa (4. Mai 2012)

Hi,

ich möchte gerne eine Intergerzahl von einer Variable in ein Textfeld ausgeben lassen.


```
JLabel laEtikett = new JLabel("Etikett");
        JTextField tfEtikett = new JTextField(int); // <<<
        fileDokument.setEtikett(3);
        tfEtikett.setText(fileDokument.getEtikett());
```

Im Buch konnte ich folgendes finden


```
public JTextField(int columns) // <<<
public JTextField(String text)
public JTextField(String text, int columns)
```

So genau weiss ich nicht wie das interpretieren soll, denn ich habe weder im Netz noch im Buch ein Beispiel finden können wie die Ausgabe in einem Textfield als Integer-Zahl deklariert wird.

Danke

Mi


----------



## SlaterB (4. Mai 2012)

wenn auf einem Automaten steht, dass du mit Münzen bezahlen sollst, 
dann hilft es auch nicht, einen Zettel mit Text 'Münzen' drauf hineinzustopfen,
du musst schon echte Münzen einwerfen

genauso ist hier 'int' kein sinnvoller Wert, du könntest aber 2, 3 oder auch 48759 übergeben,
welchen Sinn das hat steht in der API, mit dem Funktionsumfang der setText()-Methode hängt das aber nicht zusammen


----------



## Gast2 (4. Mai 2012)

Das hier bedeutet, dass JTextField 3 verschiedene Konstruktoren hat, welche entweder einen int bekommen welcher die Spaltenanzhal definiert, einen Text oder beides. 


```
public JTextField(int columns) // <<<
public JTextField(String text)
public JTextField(String text, int columns)
```

Du erzeugst dann einfach ein Text Feld mittels: 

```
JTextField text = new JTextField("" + zahl); //zahl ist dein Integer
```


----------



## fastjack (4. Mai 2012)

```
String.valueOf(zahl)
```


----------



## MiMa (4. Mai 2012)

Wenn ich ein Textfeld mittels machen wie


```
JTextField text = new JTextField("" + 3);
```

dann kann ich es doch nicht in


```
fileDokument.setEtikett(3);
```

schreiben und aus


```
tfEtikett.setText(fileDokument.getEtikett());
```

holen?

*fastjack, weiss nicht was Du mir damit sagen möchtest, aber die Variablendefinition, set und getMethoden ist alles integer.

*slaterB, mit ist klar das Apfel und Birnen nicht das gleiche sind. Deshalb war mir auch klar, das mit der Definition des Textfeldes irgendetwas geben könnte, damit ich auch integer-Zahlen darstellen kann.


```
JTextField tfEtikett = new JTextField( ? );
```

Mi


----------



## SlaterB (4. Mai 2012)

> dann kann ich es doch nicht in [..] schreiben und aus [..] holen?

kannst du deine Probleme etwas konkreter beschreiben?
hast du im Moment Compiler-Fehler/ Exceptions zur Laufzeit (welche?) oder ein Programmfehlverhalten oder nur allgemeines Unwohlsein zum Code-Vorgehen?
egal was, es gehört genauer erläutert,

bisher ist meiner Ansicht nach für niemanden deine Absichten erkennbar, oder um wieder einen Vergleich zu bemühen:
das Bild hängt schief, dann kann ich doch nicht Einkaufen fahren?

zu
> tfEtikett.setText(fileDokument.getEtikett());
kann man allerdings sagen, dass das wohl (auch) nicht funktioniert, falls die Methode einen int zurückliefert,
musst du dann wie schon angesprochen wurde in String umwandeln


----------



## bERt0r (4. Mai 2012)

Ich beschreibs dir mal allgemeiner: Ein TextField heißt TextField weil es Text (String) anzeigt, keine Integers. Es ist aber überhaupt kein Problem, eine Integer in einen String umzuwandeln. Hierzu bitte die Methdoe String.valueOf(x) benutzen. Wie du dein Textfield erstellst (Konstruktor) ist erstmal egal. Du kannst mit setText während der Laufzeit immer noch den Inhalt ändern.


----------



## MiMa (4. Mai 2012)

Ok, vielen Dank für die Informationen.

Zum Problem ist, das ich ein Texfield habe und dort einen Integer-Wert ausgeben (anzeigen) lassen möchte. Dieser wert wird durch 


```
tfEtikett.setText(fileDokument.getEtikett());
```

geholt.

Mi


----------



## SlaterB (4. Mai 2012)

Zum Problem ist, dass ich ein Bild waagerecht aufhängen will,und dazu habe ich eine Wand und das Bild wird von mir aus dem Keller geholt und mit folgender Aktion
'Bild an Wand aufhängen'
angebracht.
(auf Fehlermeldungen wie Nagel geht nicht in die Wand, Hammer fehlt, Daumen getroffen 
oder sonstige relevante Informationen verzichte ich,
ich zähle nur normale anscheinend richtige Vorgänge auf und nenne das insgesamt 'mein Problem')


----------



## MiMa (4. Mai 2012)

OK, also alles was ich in einem TextField ausgeben möchte, muss also immer ein String sein.
Zahlen müssen also in einen String umgewandelt werden.

Dann nehme ich an, das es bei Datumstypen ebenfalls in String umgewandelt werden muss.

Mi


----------



## SlaterB (4. Mai 2012)

gewiss, für alles


----------



## ARadauer (4. Mai 2012)

MiMa hat gesagt.:


> Dann nehme ich an, das es bei Datumstypen ebenfalls in String umgewandelt werden muss.



ja... was soll den das Textfeld mit einem Customer Objekt machen?

Aber grundsätzlich hast du schon Recht... ein feld für Dezimlal und integer zahlen wäre nicht verkehrt...


----------



## SlaterB (4. Mai 2012)

stimmt, kann man erwähnen
How to Use Formatted Text Fields (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)


----------

