Roger: Eingabe aus Textfeld verarbeiten

Hallo Forumler und Forumlerinnen

Ich habe folgendes Problem. Ich habe 2 Textfelder und einen Submit Button erstellt.

Ich möchte nun die Eingaben die in die Textfelder gemacht werden einlesen und sobald der Submit Button gedrückt wird, die Daten nehmen und in eine Variable in einem File schreiben.

Wie funktioniert das? Kann mir da jemand helfen?

Der Code des Java Files sieht im Moment so aus. Das Action Event ist nur zur Ansicht für mich.

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class einloggen extends JFrame implements ActionListener {

JButton submit;
 JLabel label1, label2, login;
 JTextField field1;
 JPasswordField field2;
 JPanel panel1, panel2, panel3;

public einloggen(){

Container cp = getContentPane();
    cp.setLocation(100,100);
    cp.setSize(300,180);
 cp.setLayout(null);

// Button Objekt erstellen
 JButton submit = new JButton("Submit");
 submit.setBounds(100,120,80,20);
 cp.add(submit);
    submit.addActionListener(this);

//Label Objekt erstellen
    JLabel login = new JLabel ("Login für Nomination NBP");
 login.setBounds(10,10,150,15);
 cp.add(login);

JLabel label1 = new JLabel ("Username:");
 label1.setBounds(10,50,100,15);
 cp.add(label1);

JLabel label2 = new JLabel ("Password:");
 label2.setBounds(10,80,100,15);
    cp.add(label2);

//Textfelder Objekt erstellen
 JTextField field1 = new JTextField("Username",20);
 field1.setBounds(100,50,120,20);
 cp.add(field1);

JPasswordField field2 = new JPasswordField("Passwort",20);
 field2.setBounds(100,80,120,20);
 cp.add(field2);

}

// implementiere die Methode fuer das Interface ActionListener
public void actionPerformed(ActionEvent ae) {

String cmd = ae.getActionCommand();
    if (cmd.equals("Neues Spiel")) {
    System.out.println("Neues Spiel gedrückt.");
    }
    if (cmd.equals("Würfeln")) {
    System.out.println("Würfeln gedrückt.");
    }
}

public static void main (String [] args) {

// Container erstellen und anzeigen
     einloggen app = new einloggen();
        app.setTitle("NBP Test");
        app.show();

}

}

Besten Dank für Eure Hilfe

Freundliche Grüsse

Roger

  1. Hallo,

    Ich möchte nun die Eingaben die in die Textfelder gemacht werden einlesen und sobald der Submit Button gedrückt wird, die Daten nehmen und in eine Variable in einem File schreiben.

    Kommt drauf an, wie du es speichern willst... Schau dir mal die
    Klassen im Package java.io an. Dort solltest du fündig werden.
    Eigentlich erklärt jedes Java-Buch die Grundlagen von Dateioperationen.
    Schau doch erstmal dort nach.
    Ansonsten hilft auch wie immer der Java Alamanac.

    Kostenlose Java-Bücher findest du unter http://www.javabuch.de und
    http://www.galileocomputing.de/openbook/javainsel4/

    Wenn du konkrete Fragen und Probleme hast, dann frag einfach nochmal
    nach. (Bitte hier im Thread. Der wird noch gelesen.)

    Gruß
    Slyh

    1. Hallo Slyh

      Kommt drauf an, wie du es speichern willst...

      Ich habe 2 Textfelder (Login) und ein Login Button. Sobald der Button gedrückt wird, sollen die Daten an ein Java File übergeben werden, welches sich dann an einem Server einloggt. Sobald man sich am Server einloggen konnte, soll auch die Applikation freigegeben werden. So nach dem Motto: If Connerction to Server == true, than login to Application. Ist das möglich?

      Ich weiss jetzt aber bereits am Anfang nicht, wie ich die Textfelder auslesen muss. Muss ich dies über ein InputStream oder über einen ActionListener machen?

      Ich sollte vielleicht einmal noch die ganze Sache genauer beschreiben. Bis heute läuft es so, das wir einen DOS basierten API Client haben. Dort müssen wir uns einloggen. Anschliessend erhalten wir Zugriff zu verschiedenen API, welche aber alle Clientseitig bestehen.
      Sobald ein API ausgewählt wurde, müssen verschiedene Parameter im Dos Fenster eingegeben werden. Wenn alle eingegeben sind, wird ein XML File generiert und an den Server verschickt. Ich möchte nun eigentlich ein GUI bauen, welches sich einloggt, siehe oben. Sobald das einloggen erfolgt ist, können wider die einzelnen API's ausgewählt werden. Dabei muss man aber keine Parameter mehr übergeben, sondern die Parameter werden automatisch an das Java File übergeben, die dann das XML generieren. Die Parameter stammen übrigens aus einer Datenbank.

      Kannst Du mir dabei helfen?

      Besten Dank

      Roger

      1. Hallo,

        Ich habe 2 Textfelder (Login) und ein Login Button. Sobald der Button gedrückt wird, sollen die Daten an ein Java File übergeben werden,

        Du meinst, die Daten werden an ein Java-Objekt übergeben, oder? Du
        solltest nicht in "Dateien" denken. Du solltest immer in Packages,
        Klassen, Methoden, Variablen und Objekte denken. Eine ideale
        Entwicklungsumgebung würde die Tatsache, daß man in Wirklichkeit eine
        .java-Datei editiert, vollständig vom Entwickler verstecken. Daß
        der Source-Code in Dateien abgelegt ist, ist völlig irrelevant. Er
        könnte genausogut in einer Datenbank oder in sonst einer Form
        gespeichert sein.
        Visual Age for Java hat diese Datei-Geschichte ganz gut vom Benutzer
        versteckt. Dort gab es nur Solutions, Projekte, Java-Klassen usw.
        Nur Ressourcen waren Dateien.

        welches sich dann an einem Server einloggt. Sobald man sich am Server einloggen konnte, soll auch die Applikation freigegeben werden. So nach dem Motto: If Connerction to Server == true, than login to Application. Ist das möglich?

        Wir ja tausendfach gemacht. Wieso sollte es also nicht möglich sein? :)

        Ich weiss jetzt aber bereits am Anfang nicht, wie ich die Textfelder auslesen muss. Muss ich dies über ein InputStream oder über einen ActionListener machen?

        Ein Textfeld auslesen? Reden wir von JTextField? Die Klasse hat eine
        Methode "getText()", die dir die Benutzereingabe als String zurück-
        liefert.

        InputStream haben primär etwas mit Dateien oder Netzwerkverbindungen
        oder dergleichen zu tun, also mit Dingen, bei denen Daten kontinuierlich
        geliefert werden. Zwar könnte man im Prinzip auch die Eingabe in einem
        Textfeld streamen... aber warum sollte man? :)

        Der ActionListener kommt ins Spiel, wenn du auf Buttondruck reagieren
        willst. Die registriert einen Listener (also einen Hörer) an dem
        Button. Sobald der Button gedrückt wird, werden alle registrierten
        ActionListener darüber informiert. In dem Code, der dabei ausgeführt
        wird -- also in der actionPerformed()-Methode -- könntest du dann
        beispielsweise die Server-Abfrage tätigen und bei erfolgreicher
        Autentifizierung die andere GUI freigeben. Wenn es nicht geklappt
        hat, bietet sich an, eine Fehlermeldung anzuzeigen.

        Hast du da irgendwelche konkreten Probleme?

        [Programmbeschreibung übersprungen]

        Kannst Du mir dabei helfen?

        Bei einzelnen Fragen und Problemen gerne. Bei der Gesamtumsetzung des
        Systems nicht, nein. Aber das willst du vermutlich auch gar nicht. :-)

        Gruß
        Slyh