5 Stimmen

Konvertieren Sie JTextField-Eingabe in eine Ganzzahl

Ich bin neu in JAVA, ich versuche, eine Eingabe aus einem JTextField in eine Ganzzahl umzuwandeln. Ich habe viele Optionen ausprobiert, aber nichts funktioniert, Eclipse gibt mir immer einen Fehler und die Fehler ergibt für mich keinen Sinn.

import java.awt.Graphics; import java.awt.Color;

public class Kreis erweitert Form {

public int x;
public int y;
public int Radius;

public Kreis(int Radius, int x, int y, Color c) {
super(c);
this.x = x;
this.y = y;
this.Radius = Radius;
}

public void zeichnen(Graphics g) {
g.setColor(super.getColor());
g.fillOval(x-Radius, y-Radius, Radius * 2, Radius * 2);
}
}

14voto

dantuch Punkte 8877

Anstelle von:

JTextField f1 = new JTextField("-5");

//xaxis1 = Integer.parseInt(f1);

Versuche es damit:

JTextField f1 = new JTextField("-5");
String text = f1.getText();
int xaxis1 = Integer.parseInt(text);

Du kannst TextField nicht in Integer parsen, aber du kannst den Wert darin - den Text - parsen.

2voto

Sie haben zwei Hauptfehler, die sofort in den Sinn kommen:

  • Erstens versuchen Sie, das JTextField selbst zu analysieren, nicht den Text, den es enthält (wie von dantuch erwähnt - ein Pluspunkt für ihn).
  • Selbst wenn Sie den Text, der von JTextField gehalten wird, erfolgreich analysieren würden, wäre es nicht produktiv, dies zu diesem Zeitpunkt in Ihrem Programm zu tun, da Sie es zum Zeitpunkt der JTextField-Erstellung tun würden und dem Benutzer keine Gelegenheit gegeben hätten, die von den Feldern gehaltenen Werte zu ändern.

Eine bessere Lösung wäre, wie dantuch vorschlägt, den vom JTextField gehaltenen Text zu analysieren, aber dies in einem Listener von irgendeiner Art zu tun, vielleicht ein ActionListener, der durch Drücken eines JButtons ausgelöst wurde.

1voto

Puce Punkte 36289

0voto

Kumar Vivek Mitra Punkte 32796

Sie müssen den Wert des TextField parsen:

int i = Integer.parseInt("-10");

Ebenso

double d = Double.parseDouble("-10.0");

usw...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X