# Java Gui .settext



## Mr.Robot (16. Feb 2016)

Hallo Zusammen!
Ich habe ein Problem bei meiner Hausaufgabe, aufgabe war es eine Gui zu einem Programm zu erstellen das Brüche kürzt.

Nun Versuche ich mit:
AusgabeNenner.setText(meinBruch.liesZaehler());

(AusgabeNenner heißt MeinJTextField das ich benutzen möchte.)

Eine Zahl auszugeben welche ich berechenen habe lassen. die Methode liesZaehler() sieht so aus :
public int liesZaehler()
    {
        return Zaehler;
    }
sie gibt mir einfach eine Zahl zurück (int).

Wie schaffe ich es, bzw was muss ich machen das Ich mit SetText ein int Wert ausgeben kann ?
Vielen Dank schonmal!


----------



## kneitzel (16. Feb 2016)

Es hätte geholfen, wenn Du die Fehlermeldung mitgegeben hättest. Ich denke mal, dass das Problem ist, dass setText einen String haben will und kein int. Also musst du deine Zahl erst in einen String umwandeln. Dazu könntest Du .toString() aufrufen:
AusgabeNenner.setText(meinBruch.liesZaehler().toString());

Hinweis: Variablen sollten mit einem kleinen Buchstaben beginnen. also z.B. ausgabeNenner.


----------



## Mr.Robot (16. Feb 2016)

Das mit .toString funktioniert nicht, da erschein der Fehler das 
"Cannot invoke toString() on the primitive type int"
_Hier ist die Fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
    The method setText(String) in the type JTextComponent is not applicable for the arguments (int)
    The method setText(String) in the type JTextComponent is not applicable for the arguments (int)

    at benutzerschnittstelle.GUI.Bruchkuerzen(GUI.java:147)
    at benutzerschnittstelle.GUI.access$0(GUI.java:114)
    at benutzerschnittstelle.GUI$2.actionPerformed(GUI.java:77)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)_


----------



## kneitzel (16. Feb 2016)

Sorry, Autoboxing greift da nicht. Machen wir einfach einen expliziten Cast:
AusgabeNenner.setText(((Integer)meinBruch.liesZaehler()).toString());

Damit casten wir int in einen Integer. Dabei greift das Autoboxing und schon haben wir eine Referenz auf der wir toString() aufrufen können.

Oder als Alternative können wir schreiben:
AusgabeNenner.setText(Integer.toString(meinBruch.liesZaehler()));

Nimm einfach die Variante, die Dir besser gefällt.


----------



## Mr.Robot (16. Feb 2016)

Ah Cool, jetzt funktioniert es einwandfrei!
Vielen Dank für die Schnelle und Kompetente Hilfe!


----------



## bolli24 (21. Feb 2016)

Hallo,

auch wenn das hier schon geklärt ist möchte ich noch hinzufügen das auch

```
AusgabeNenner.setText(String.valueOf(meinBruch.liesZaehler()));
```
funktioniert.

Mit freundlichen Grüßen
bolli24


----------

