Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
jTextField - Auslesen, in Variablen speichern, eingeben...
ich habe während meiner Ausbildung zum ITA nur mit Visual Basic bzw. C# progammieren müssen und habe jetzt Probleme mit Java, was ich für meine Ausbildung zum Fachinformatiker nun in der Schule brauche.
Ich habe schon gegooglet und mir einige Tutorials angeschaut, aber ich finde nicht das was ich brauche.
Ich benutze NetBeans und habe mir mit dem eingebauten GUI-Designer ein jTextField und einen Button in das Fenster gezogen.
Beim Klick auf den Button soll von der Zahl im Textfeld z.B. 1 abgezogen werden.
In Visual Basic würde ich das in etwa so machen:
Code:
Dim Zahl As Integer
Zahl = 10
Textfeld1.Text = Zahl1
[U]Beim Klick auf den Button:[/U]
Zahl = Zahl - 1
Textfeld1.Text = Zahl1
In Java erscheint mir alles so unlogisch, ich bin einfach an VB gewöhnt :rtfm:.
Sorry, dachte das wäre offensichtlich. Meine Frage ist, wie muss mein VB-Code in Java aussehen? Wie kann ich die jTextFields ansteuern, also auslesen und den Wert ändern?
In Java (wie auch C#) werden Objekte über einen Bezeichner angesprochen. Von einem angesprochenen Objekt kann man dann entsprechende Methoden aufrufen.
Für dein Beispiel wäre das: "Textfeld1.setText(...)" bzw. "Textfeld1.getText()" (Achtung in Java werden lokale Variablen, Attribute usw. in lowerCamelCase geschrieben)
Auf eine Handlung (Action) der GUI kann man mittels ActionListener reagieren. Nur noch verknüpfen und fertig
int zahl = Integer.parseInt(jTextField1.getText());
zahl = zahl - 1;
[COLOR="#A9A9A9"]//zahl in String zahlstr umwandeln[/COLOR]
[COLOR="#FF0000"]jTextField1.setText(zahlstr);[/COLOR]
Danke, das hilft mir schon mal alles weiter.
Wie kann ich den berechneten Wert wieder in einen String umwandeln,
damit das Textfeld ihn anzeigen kann?
Ich würde noch einen try-catch Block einbinden um einen Programmabsturz durch eine ungültige Eingabe zu verhindern. Man kann ja keine buchstaben auf ein int parsen
int zahl = Integer.parseInt(jTextField1.getText());
zahl = zahl - 1;
[COLOR="#A9A9A9"]//zahl in String zahlstr umwandeln[/COLOR]
[COLOR="#FF0000"]jTextField1.setText(zahlstr);[/COLOR]
Danke, das hilft mir schon mal alles weiter.
Wie kann ich den berechneten Wert wieder in einen String umwandeln,
damit das Textfeld ihn anzeigen kann?
Damit dein Programm auf den Buttonklick reagiert brauchst du einen EventListener,
in diesem Fall einen ActionEventListener.
Einfach das Interface "ActionListener" in die Klasse implementieren, das Interface zwingt dich dann eine Methode zu überschreiben, die ausgeführt wird sobald der Button geklickt wird, bzw. ein Event abgefeuert wird (in diesem Fall würdest du deine Methode aufrufen, die den Wert vermindert.).
Anschließend addest du den ActionEventListener zum JButton.
Bsp: button.addActionEventListener(this);