JTextfield

B

Banda

Gast
Huhu, ich habe ein Fenster mit mehreren JTextFields.

Ich möchte nun die Daten aus den JTextFields herausnehmen und an eine Methode übergeben. Dies gelingt mir bei den Strings Super, aber wenn ich das JTextField wo ich einen Int-Wert eingeben soll z.B. 4 frei lasse und gar nix eintrage, wirft er mir ne Fehlermeldung um die Ohren.

Meine Problemstellung ist quasi, wie fange ich den Fehler ab das ein TextField welches Int´s aufnimmt freibleibt?

hier mal codefetzten :D

Java:
class deleteDatabase implements ActionListener {
	private JTextField id;
	private JTextField name;
	private JTextField sonstiges;
	private JTextField ausgabe;

	public deleteDatabase(JTextField id, JTextField name, JTextField sonstiges,
			JTextField ausgabe) {
		this.id = id;
		this.name = name;
		this.sonstiges = sonstiges;
		this.ausgabe = ausgabe;
	}

	public void actionPerformed(ActionEvent e) {

		sqlsuche.löschen(Integer.parseInt(id.getText()), name.getText(),
				sonstiges.getText());
	}
}


andere Klasse:

Java:
	public static void löschen(int getId, String getName, String getVorname) {
		try {
			int id = getId;
			String name = getName;
			String vorname = getVorname;

			con = DriverManager.getConnection("jdbc:mysql://localhost/db_dsa",
					"root", "");
			stmt = con.createStatement();

			String sql = "delete from soldat where name= 'Maus';";

			stmt.execute(sql);

		} catch (Exception e) {
			e.printStackTrace();

		}
	}

noch eins zwei Anmerkungen:

- 0 Fehler beim Compilieren
- in der methode loeschen() ist die sql abfrage noch statisch drin und hat noch nicht die werte (also das weiß ich :D)
- wenn ich im Textfeld id eine zahl eingebe funktioniert alles wie es soll, lass ich das Feld leer kommt wie oben bereits gesagt die Fehlermeldung...

Java:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at deleteDatabase.actionPerformed(Controller.java:163)
	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$200(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$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.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$1.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)
 
S

SlaterB

Gast
was kann es Fragen zum Abfangen geben?
du bist derjenige der den Code eintippt, nutze diese Macht!
du kannst vorher mit if nachschauen, ob Leerstring im Textfeld, du kannst etwas unsauber die Exception mit try/catch abfangen
und und und!
 
B

Banda

Gast
ich habe probiert mit variante 1;
Java:
if(id.getText()==null)
variante 2:
Java:
if(id.getText()="")
variante 3:
Java:
		private JTextField leer;
		if(id.getText().equals(leer.getText()))

alle fangen es nicht ab und lösen die exception aus
 

L-ectron-X

Gesperrter Benutzer
Du könntest das Textfeld mit dem String "0" initialisieren.
[EDIT]Ersetzt natürlich nicht die Prüfung der Benutzereingaben, ob sie valide sind.[/EDIT]
 
S

SlaterB

Gast
Variante 1: der Text des Textfelds ist nicht null
Variante 2: Zuweisungsoperator = ist vollkommen Fehl am Platze, == gemeint? wie war das noch mit Strings, equals()-Methode?
Variante 3: leer ist null

tausende schlimme Methoden kann man natürlich ausdenken,
die Aufgabe, den Text festzustellen und sinnvoll zu prüfen bleibt dennoch bestehen
 
B

Banda

Gast
@L-ectron-X

das habe ich auch schon überlegt, aber im Konstruktor wird ja der Wert übergeben, wenn er gültig ist, soll er ja auch weiter gereicht werden, wenn ich es jetzt mit o initialsiere ist er ja immer 0

@SlaterB
wiederspricht du dich nicht in den Aussagen zu Variante 1 und 3
zu variante 2, ja sollte == sein
 
P

pL4Gu3

Gast
er meinte damit, dass bei 1. das Textfeld also die Methode .getText() niemals null zurück gibt.
Und bei 3 ist deine Variable null.

Die einfachste Möglichkeit wäre, dass du nur Zahlen zum Eingeben zu lässt.
 
B

Banda

Gast
Die einfachste Möglichkeit wäre, dass du nur Zahlen zum Eingeben zu lässt.
Wie das geht, weiß ich noch nicht :-(
Programmiere noch nicht so lange....

Besteht da dennoch nicht das Problem das er einfach keine Zahl eingibt und auf den Button klickt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G KeyListener für JTextField Allgemeine Java-Themen 5
J Circumflex in JTextField Allgemeine Java-Themen 1
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
J JTextField nicht editierbar Allgemeine Java-Themen 5
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
F JTextField funktioniert nicht Allgemeine Java-Themen 6
E Eingabeprüfung JTextField. Fehler bei Copy-Paste Allgemeine Java-Themen 4
L JTextfield wird nicht ausgelesen Allgemeine Java-Themen 7
T JTextField in Listener leeren Allgemeine Java-Themen 2
M jTextField --> Zwischenspeicher Allgemeine Java-Themen 20
M Datum einlesen aus jTextField Allgemeine Java-Themen 2
G JTextField mit Zeichenbeschränkung Allgemeine Java-Themen 7
E JTextField auf JWindow Allgemeine Java-Themen 2
P Suche Benis IP/Netzwerkadresse JTExtField Allgemeine Java-Themen 2
S JTable editieren + in JTextField schreiben Allgemeine Java-Themen 7
O Inhalt vom JTextfield im DebugMode ermitteln? Allgemeine Java-Themen 2
M Autovervollständigung im JTextField Allgemeine Java-Themen 3
P JTextField textfarbe schwarz auch wenn JTF deaktiviert ist Allgemeine Java-Themen 4
M Text in JTextfield einfügen sofort dann wird Text gekürzt Allgemeine Java-Themen 2
MQue JTextField Kommastellen Allgemeine Java-Themen 5
G Problem mit jTextField Allgemeine Java-Themen 7
D JTextfield für double werte Allgemeine Java-Themen 2
F JTextField Eingabe automatisch bestaetigen Allgemeine Java-Themen 17
D Probleme beim FAQ (JTextField: Dokumentarten) Allgemeine Java-Themen 5
H Position von JTextField Allgemeine Java-Themen 2
O String übergeben ist name eines JTextField wie zugreifen Allgemeine Java-Themen 9
Z JTextField mit Model kommunizieren Allgemeine Java-Themen 6
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
G JTextField: Feld für Ausgabe von Meldungen Allgemeine Java-Themen 14
G Frage zu JTextField Allgemeine Java-Themen 2
E Field-Objekt in JTextField parsen Allgemeine Java-Themen 3
F KeyListener für JTextField Allgemeine Java-Themen 4
G Nur Integer Werte in JTextField Allgemeine Java-Themen 4
H JTextField Allgemeine Java-Themen 2
C JTextField Allgemeine Java-Themen 9
B TextListener bei JTextField Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben