Java Gui .settext

Mr.Robot

Mitglied
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!
 
K

kneitzel

Gast
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

Mitglied
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)
 
K

kneitzel

Gast
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.
 

bolli24

Mitglied
Hallo,

auch wenn das hier schon geklärt ist möchte ich noch hinzufügen das auch
Java:
AusgabeNenner.setText(String.valueOf(meinBruch.liesZaehler()));
funktioniert.

Mit freundlichen Grüßen
bolli24
 

Neue Themen


Oben