Komisches Verhalten des JavaFXprogrammes

Juelin

Bekanntes Mitglied
Hallo Java-Freaks,
bin am verzweifeln.
Habe ien javaFX Programm und eine Scene mit ScheneBuilder erstellt. (siehe Bild1 und fenster.zip).
Ich hatte ein neues Label und ein neues Textfield hinzu gefügt.
Das Programm läuft zwar, aber die Events eingabe1.Action = Textfield1 Datum und eingabe2.Action = Textfield2 Uhrzeit
spielen irgendwie verrückt.
Ich denke der Textfield.Event Action wird nur ausgelöst, wenn man im Textfield die EWNTER-Taste drückt.
Num setzte ich am Ende vom Action-Event von Textfield1 die Parameter für Textfield2.
Aber owohl ich nix mache (keine Taste drücke oder sonst was) wir der Event Action von Textfield2 ausgeführt.
Warum dieses??????
Noch eine Hinweis; wenn ich die Variable einfeldNum auf einen anderen Wert als 2 setze, so wird
der Event Action von Textfield2 nicht ausgeführt.
Und nur damit Ihr nicht mein: ist doch klar, du fragst ja am Anfang die Vaiable einfeldNum ab.
Nein, ich habe debugt. das Programm kommt nicht mal in die Routine E2Action, wenn die Variable einfeldNum nicht 2 ist. Komisch.
Vielleicht hat jemand eine Idee!!!! Fehlermeldungen gibt es auch nicht.
Jetzt die Software: App.java und fensterController.java

Java:
om.juelin.projekt8;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
/**
 * JavaFX App
 */
public class App extends Application
    {
    @FXML
    private Pane pane;
    @FXML
    private TextField eingabe1;
    @FXML
    private TextField eingabe2;
    @FXML
    private Label anzeige1;
    @FXML
    private Label anzeige2;
    @FXML
    private Label anzeige3;
    @FXML
    private Button knopf1;
    @FXML
    private Button knopf2;
    @FXML
    private static Scene scene;
    @FXML
    private static fensterController gVarRout;
    @FXML
    @Override
    public void start(Stage stage) throws IOException
        {
        FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource("fenster.fxml"));
        scene = new Scene(fxmlLoader.load(), 900, 600, Color.BLACK);
        gVarRout = fxmlLoader.getController();
        gVarRout.anzeigeNum = 0;
        gVarRout.knopfNum = 0;
        gVarRout.einfeldNum = 0;
        scene.setFill(Color.BLACK);
        stage.setScene(scene);
        stage.setTitle("mein erstes Programm mit SceneBuilder");
        stage.setX(0);
        stage.setY(0);
        stage.setWidth(900);
        stage.setHeight(600);
        stage.centerOnScreen();
        stage.setResizable(false);
        stage.show();
        gVarRout.anzeigeNum = 1;
        gVarRout.setAnzeigeText("Datum:");
        gVarRout.setAnzeigeVisible(Boolean.TRUE);
        gVarRout.setAnzeigeBackground(Color.BLUE);
        gVarRout.anzeigeNum = 2;
        gVarRout.setAnzeigeText("");
        gVarRout.setAnzeigeVisible(Boolean.TRUE);
        gVarRout.setAnzeigeBackground(Color.AQUA);
        gVarRout.anzeigeNum = 3;
        gVarRout.setAnzeigeText("Uhrzeit:");
        gVarRout.setAnzeigeVisible(Boolean.TRUE);
        gVarRout.setAnzeigeBackground(Color.BLUE);
        gVarRout.knopfNum = 1;
        gVarRout.setKnopfVisible(Boolean.TRUE);
        gVarRout.knopfNum = 2;
        gVarRout.setKnopfVisible(Boolean.TRUE);
        gVarRout.einfeldNum = 1;
        gVarRout.setEingabeVisible(Boolean.TRUE);
        gVarRout.setEingabeEditable(Boolean.FALSE);
        gVarRout.setEingabeBackground(Color.LIGHTGRAY);
        gVarRout.einfeldNum = 2;
        gVarRout.setEingabeVisible(Boolean.TRUE);
        gVarRout.setEingabeEditable(Boolean.FALSE);
        gVarRout.setEingabeBackground(Color.LIGHTGRAY);
        gVarRout.setEingabeText("12:34:58");
        gVarRout.einfeldInt = 0;
        gVarRout.einfeldDouble = 0;
        gVarRout.einfeldText = "";
        gVarRout.einfeldDateTime = LocalDateTime.of(1700, 1, 1, 0, 0, 0);
        gVarRout.einfeldForm = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
        gVarRout.einfeldSDT = gVarRout.einfeldDateTime.format(gVarRout.einfeldForm);
        gVarRout.einfeldType = 1;
        gVarRout.KonvDateTime();       
// Setzen Eingabe Variablen       
        gVarRout.einfeldNum = 1;
//        gVarRout.setEingabeBackground(Color.WHITE);
        gVarRout.einfeldText = "";
        gVarRout.einfeldArt = 6;     
        gVarRout.einfeldAuto = 1;
        gVarRout.einfeldKomma = 0;
        gVarRout.einfeldMin = 8;
        gVarRout.einfeldMax = 10;
        gVarRout.einfeldZeich = 3;
        gVarRout.einfeldAnzeige = 0; 
        gVarRout.eingabeSetzen();
        }
    @FXML
    public static void main(String[] args)
        {
        launch();
        }
    }

Java:
package com.juelin.projekt8;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
public class fensterController
    {
    @FXML
    private Pane pane;
    @FXML
    private TextField eingabe1;
    @FXML
    private TextField eingabe2;
    @FXML
    private Label anzeige1;
    @FXML
    private Label anzeige2;
    @FXML
    private Label anzeige3;
    @FXML
    private Button knopf1;
    @FXML
    private Button knopf2;
    public int anzeigeNum;
    public int knopfNum;
    public int einfeldInt;       // Eingabe Integer
    public double einfeldDouble; // Eingabe Double
    public LocalDateTime  einfeldDateTime; // Eingabe Datum
    public DateTimeFormatter einfeldForm; // Formatiertes Datum und Uhrzeit
    public String einfeldSDT;    // Stringausgabe Datum und Uhrzeit
    public int einfeldDD;        // Tag
    public int einfeldMO;        // Monat
    public int einfeldJJ;        // Jahr
    public int einfeldHH;        // Stunde
    public int einfeldMI;        // Minute
    public int einfeldSS;        // Sekunde
    public int einfeldType;      // Konvertiertyp Datum und Uhrzeit Ausgabe einfeldSDT
                                 // String = einfeldSDT
                                 // Integer = einfeldJJ, einfeldMO, einfeldDD, einfeldHH, einfeldMI, einfeldSS
                                 // 1 = String zu Integer deutsches Format
                                 // 2 = Integer zu String englisches Format
                                 // 3 = Datum aus Integer deutsches Format
                                 // 4 = Uhrzeit aus Integer deutsches Format
                                 // 5 = Datum String zu Integer
                                 // 6 = Uhrzeit String zu Integer;
    public String einfeldOrg;    // Textfeld vor Eingabe
    public String einfeldText;   // Eingabe Text
    public int einfeldLang;      // Rückgabewert Länge der Eingabe
    public int einfeldRet;       // Rückgabewert Fehlercode
                                 //  0 = kein Fehler
                                 //  1 = Aufruf eingabeSeten mit einfeldNum = 0
                                 //  2 = einfeldAnzeige ungültig
                                 //  3 = Eingabe > einfeldMax
                                 //  4 = einfeldMin > einfeldMax
                                 //  5 = einfeldMax < 1
                                 //  6 = Länge einfeldText > einfeldMax
                                 //  7 = einfeldArt nicht zulässig
                                 //  8 = Eingabewert in einfeldText nicht zulässig
                                 //  9 = Übergabewert einfeldText nicht OK
                                 // 10 = Datum nicht zulässig
                                 // 11 = Uhrzeit nicht zulässig
                                 // 12 = einfeldText zu viele Sonderzeichen
    public int einfeldArt;       // Eingabeart
                                 // 1 = nummerisch ohne Komma ohne Vorzeichen
                                 // 2 = nummerich ohne Komma mit Vorzeichen
                                 // 3 = nummerisch mit Komma ohne Vorzeichen
                                 // 4 = nummerisch mit Komma mit Vorzeichen
                                 // 5 = Alphanummerisch
                                 // 6 = Datum
                                 // 7 = Telefonnummer
                                 // 8 = Uhrzeit
    public int einfeldNum;       // Nummer des Eingabefeldes
    public int einfeldMin;       // minimale Länge Eingabe
    public int einfeldMax;       // maximale Länge Eingabe
    public int einfeldKomma;     // Anzahl nachkommastelloen
    public int einfeldZeich;     // Zeichenart
                                 // 1 = nur Kleinbuchstaben
                                 // 2 = nur Grossbuchstaben
                                 // 3 = Gross- und Kleinbuchstaben
    public int einfeldAnzeige;   // eingabeText vorher anzeigen
                                 // 0 = nein
                                 // 1 = ja
    public int einfeldAuto;      // Automatischer Feldsprung
                                 // 0 = nein
                                 // 1 = ja
    public int einfeldStell;     // Eingabestelle
    private String einfeldAlt;   // Merker Text vor Eingabe Zeichen
    private int einfeldLauf;     // Funktionen in Eingabe ausführen
                                 // 0 = nein
                                 // 1 = ja
    private int einfeldSonderAnz1; // Anzahl Sonderzeichen -
    private int einfeldSonderAnz2; // Anzahl Sonderzeichen ,
    private int einfeldSonderAnz3; // Anzahl Sonderzeichen .
    private int einfeldSonderAnz4; // Anzahl Sonderzeichen :
    private int einfeldSonderAnz5; // Anzahl Sonderzeichen /
    private int einfeldLeer;       // Merker anzeige2 löschen
                                 // 0 = nein
                                 // 1 = ja
    @FXML
    void B1Click(ActionEvent event)
        {
        if (knopf1.isVisible())
            {
            einfeldNum = 1;
            setEingabeEditable(Boolean.FALSE);
            setEingabeText("");
            einfeldNum = 2;
            setEingabeEditable(Boolean.FALSE);
            einfeldNum = 1;
            einfeldText = "";
            einfeldArt = 6;     
            einfeldAuto = 1;
            einfeldKomma = 0;
            einfeldMin = 8;
            einfeldMax = 10;
            einfeldZeich = 3;
            einfeldAnzeige = 0; 
            eingabeSetzen();
            }
        }
    @FXML
    void B2Click(ActionEvent event)
        {
        if (knopf2.isVisible())
            {
            System.exit(0);
            }
        }
    @FXML
    void E1Action(ActionEvent event)
        {
        int i;
        int a;
        int h1;
        int h2;
        int h3;
        String s;
        String t;
        if (einfeldNum == 1)
            {
            if (einfeldRet > 0)
                {
                setEingabeEditable(Boolean.TRUE);
                einfeldLauf = 1;
                }
            if (einfeldLauf == 1)
                {
                if (eingabe1.isEditable())
                    {
                    anzeigeNum = 2;
                    setAnzeigeText("");
                    s = getEingabeText();
                    i = s.length();
                    a = einfeldMin;
                    if (einfeldRet > 0)
                        {
                        i = einfeldMin;   
                        }
                    if (i < einfeldMin)
                        {
                        if (einfeldRet == 0)
                            {
                            anzeigeNum = 2;
                            setAnzeigeText("Eingabe nicht lang genug, kein Eingabenende");
                            }
                        einfeldLeer = 0;
                        }
                    else
                        {
                        einfeldText = s;
                        if (einfeldRet == 0)
                            {
                            if (i > einfeldMax)
                                {
                                einfeldRet = 3;   
                                }
                            }
                        if (einfeldRet == 0)
                            {
                            eingabePruef();
                            }
                        if (einfeldRet > 0)
                            {
                            setEingabeEditable(Boolean.FALSE);
                            einfeldLauf = 0;
                            einfeldLang = i;
                            s = FehlerAus();
                            if (einfeldRet == 8)
                                {
                                s += "  <"+einfeldText+">";   
                                }
                            anzeigeNum = 2;
                            setAnzeigeText(s);
                            }
                        else
                            {
                            if (einfeldArt == 1)
                                {
                                einfeldInt = Integer.valueOf(einfeldText);
                                }
                            if (einfeldArt == 2)
                                {
                                einfeldInt = Integer.valueOf(einfeldText);
                                }
                            if (einfeldArt == 3)
                                {
                                einfeldDouble = Double.parseDouble(einfeldText);
                                }
                            if (einfeldArt == 4)
                                {
                                einfeldDouble = Double.parseDouble(einfeldText);
                                }
                            if (einfeldArt == 6)
                                {
                                h1 = einfeldHH;
                                h2 = einfeldMI;
                                h3 = einfeldSS;
                                einfeldSDT = einfeldText;   
                                einfeldType = 5;
                                KonvDateTime();       
                                einfeldHH = 0;
                                einfeldMI = 0;
                                einfeldSS = 0;
                                einfeldType = 2;
                                KonvDateTime();
                                einfeldHH = h1;
                                einfeldMI = h2;
                                einfeldSS = h3;
                                s = einfeldSDT.substring(0, 10);
                                DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                try
                                   {
                                   LocalDate ld = LocalDate.parse(s, f);
                                   t = ld.format(f);
                                   if (!s.equals(t))
                                       {
                                       einfeldRet = 10;   
                                       }
                                   }
                                catch (DateTimeParseException e)
                                   {
                                   einfeldRet = 10;   
                                   }
                                if (einfeldRet > 0)
                                    {
                                    s = FehlerAus();
                                    if (einfeldRet == 8)
                                        {
                                        s += "  <"+einfeldText+">";   
                                        }
                                    anzeigeNum = 2;
                                    setAnzeigeText(s);
                                    }
                                else
                                    {
                                    einfeldDateTime = LocalDateTime.of(einfeldJJ, einfeldMO, einfeldDD, einfeldHH, einfeldMI, einfeldSS);
                                    einfeldForm = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
                                    einfeldSDT = einfeldDateTime.format(einfeldForm);
                                    }
                                }
                            if (einfeldArt == 8)
                                {
                                h1 = einfeldJJ;
                                h2 = einfeldMO;
                                h3 = einfeldDD;
                                einfeldSDT = einfeldText;   
                                einfeldType = 6;
                                KonvDateTime();       
                                einfeldJJ = 2000;
                                einfeldMO = 1;
                                einfeldDD = 1;
                                einfeldType = 2;
                                KonvDateTime();
                                einfeldJJ = h1;
                                einfeldMO = h2;
                                einfeldDD = h3;
                                s = einfeldSDT.substring(0, 19);
                                DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                                try
                                   {
                                   LocalDateTime ld = LocalDateTime.parse(s, f);
                                   t = ld.format(f);
                                   if (!s.equals(t))
                                       {
                                       einfeldRet = 11;   
                                       }
                                   }
                                catch (DateTimeParseException e)
                                   {
                                   einfeldRet = 11;   
                                   }
                                if (einfeldRet > 0)
                                    {
                                    s = FehlerAus();
                                    if (einfeldRet == 8)
                                        {
                                        s += "  <"+einfeldText+">";   
                                        }
                                    anzeigeNum = 2;
                                    setAnzeigeText(s);
                                    }
                                else
                                    {
                                    einfeldDateTime = LocalDateTime.of(einfeldJJ, einfeldMO, einfeldDD, einfeldHH, einfeldMI, einfeldSS);
                                    einfeldForm = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
                                    einfeldSDT = einfeldDateTime.format(einfeldForm);
                                    }
                                }
                            setEingabeEditable(Boolean.FALSE);
                            if (einfeldRet == 0)
                                {
                                einfeldNum = 2;
                                einfeldText = "12:34:58";
                                einfeldArt = 8;     
                                einfeldAuto = 1;
                                einfeldKomma = 0;
                                einfeldMin = 6;
                                einfeldMax = 8;
                                einfeldZeich = 3;
                                einfeldAnzeige = 1; 
                                eingabeSetzen();
                                }
                            }
                        }
                    }
                }
            }
        }
    @FXML
    void E2Action(ActionEvent event)
        {
        int i;
        int a;
        int h1;
        int h2;
        int h3;
        String s;
        String t;
        if (einfeldNum == 2)
            {
            if (einfeldRet > 0)
                {
                setEingabeEditable(Boolean.TRUE);
                einfeldLauf = 1;
                }
            if (einfeldLauf == 1)
                {
                if (eingabe2.isEditable())
                    {
                    anzeigeNum = 2;
                    setAnzeigeText("");
                    s = getEingabeText();
                    i = s.length();
                    a = einfeldMin;
                    if (einfeldRet > 0)
                        {
                        i = einfeldMin;   
                        }
                    if (i < einfeldMin)
                        {
                        if (einfeldRet == 0)
                            {
                            anzeigeNum = 2;
                            setAnzeigeText("Eingabe nicht lang genug, kein Eingabenende");
                            }
                        einfeldLeer = 0;
                        }
                    else
                        {
                        einfeldText = s;
                        if (einfeldRet == 0)
                            {
                            if (i > einfeldMax)
                                {
                                einfeldRet = 3;   
                                }
                            }
                        if (einfeldRet == 0)
                            {
                            eingabePruef();
                            }
                            if (einfeldRet > 0)
                            {
                            setEingabeEditable(Boolean.FALSE);
                            einfeldLauf = 0;
                            einfeldLang = i;
                            s = FehlerAus();
                            if (einfeldRet == 8)
                                {
                                s += "  <"+einfeldText+">";   
                                }
                            anzeigeNum = 2;
                            setAnzeigeText(s);
                            }
                        else
                            {
                            if (einfeldArt == 1)
                                {
                                einfeldInt = Integer.valueOf(einfeldText);
                                }
                            if (einfeldArt == 2)
                                {
                                einfeldInt = Integer.valueOf(einfeldText);
                                }
                            if (einfeldArt == 3)
                                {
                                einfeldDouble = Double.parseDouble(einfeldText);
                                }
                            if (einfeldArt == 4)
                                {
                                einfeldDouble = Double.parseDouble(einfeldText);
                                }
                            if (einfeldArt == 6)
                                {
                                h1 = einfeldHH;
                                h2 = einfeldMI;
                                h3 = einfeldSS;
                                einfeldSDT = einfeldText;   
                                einfeldType = 5;
                                KonvDateTime();       
                                einfeldHH = 0;
                                einfeldMI = 0;
                                einfeldSS = 0;
                                einfeldType = 2;
                                KonvDateTime();
                                einfeldHH = h1;
                                einfeldMI = h2;
                                einfeldSS = h3;
                                s = einfeldSDT.substring(0, 10);
                                DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                try
                                   {
                                   LocalDate ld = LocalDate.parse(s, f);
                                   t = ld.format(f);
                                   if (!s.equals(t))
                                       {
                                       einfeldRet = 10;   
                                       }
                                   }
                                catch (DateTimeParseException e)
                                   {
                                   einfeldRet = 10;   
                                   }
                                if (einfeldRet > 0)
                                    {
                                    s = FehlerAus();
                                    if (einfeldRet == 8)
                                        {
                                        s += "  <"+einfeldText+">";   
                                        }
                                    anzeigeNum = 2;
                                    setAnzeigeText(s);
                                    }
                                else
                                    {
                                    einfeldDateTime = LocalDateTime.of(einfeldJJ, einfeldMO, einfeldDD, einfeldHH, einfeldMI, einfeldSS);
                                    einfeldForm = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
                                    einfeldSDT = einfeldDateTime.format(einfeldForm);
                                    }
                                }
                            if (einfeldArt == 8)
                                {
                                h1 = einfeldJJ;
                                h2 = einfeldMO;
                                h3 = einfeldDD;
                                einfeldSDT = einfeldText;   
                                einfeldType = 6;
                                KonvDateTime();       
                                einfeldJJ = 2000;
                                einfeldMO = 1;
                                einfeldDD = 1;
                                einfeldType = 2;
                                KonvDateTime();
                                einfeldJJ = h1;
                                einfeldMO = h2;
                                einfeldDD = h3;
                                s = einfeldSDT.substring(0, 19);
                                DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                                try
                                   {
                                   LocalDateTime ld = LocalDateTime.parse(s, f);
                                   t = ld.format(f);
                                   if (!s.equals(t))
                                       {
                                       einfeldRet = 11;   
                                       }
                                   }
                                catch (DateTimeParseException e)
                                   {
                                   einfeldRet = 11;   
                                   }
                                if (einfeldRet > 0)
                                    {
                                    s = FehlerAus();
                                    if (einfeldRet == 8)
                                        {
                                        s += "  <"+einfeldText+">";   
                                        }
                                    anzeigeNum = 2;
                                    setAnzeigeText(s);
                                    }
                                else
                                    {
                                    einfeldDateTime = LocalDateTime.of(einfeldJJ, einfeldMO, einfeldDD, einfeldHH, einfeldMI, einfeldSS);
                                    einfeldForm = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
                                    einfeldSDT = einfeldDateTime.format(einfeldForm);
                                    }
                                }
                            setEingabeEditable(Boolean.FALSE);
                            }
                        }
                    }
                }
            }
        }
    @FXML
    void E1Typed(KeyEvent event)
        {       
        int i;
        String s;
        String t;
        int a;
        int l;
        int x;
        Boolean r;
        String b;
        String c;
        if (einfeldNum == 1)
            {
            if (einfeldLauf == 1)
                {
                if (eingabe1.isEditable())
                    {
                    if (einfeldLeer == 1)
                        {
                        anzeigeNum = 2;
                        setAnzeigeText("");
                        }
                    einfeldLeer = 1;
                    s = getEingabeText();
                    i = s.length();
                    t = "";
                    if (i > 0)
                        {
                        t = s.substring(i-1, i);
                        }
                    if (einfeldRet == 0)
                        {
                        einfeldSonderAnz1 = 0;
                        einfeldSonderAnz2 = 0;
                        einfeldSonderAnz3 = 0;
                        einfeldSonderAnz4 = 0;
                        einfeldSonderAnz5 = 0;
                        einfeldLeer = 1;
                        r = Boolean.FALSE;
                        einfeldText = s;
                        x = 7;
                        a = einfeldText.length();
                        if (einfeldArt == 1)    // Integer
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "", 0, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                }
                            }
                        if (einfeldArt == 2)    // integer mit Votzeichen
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "-", 1, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz1 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 3)    // double mit Komma
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        if (einfeldKomma > 0)
                                            {
                                            r = Eingabegueltig(b, c, ",", 1, l);
                                            }
                                        else
                                            {
                                            r = Eingabegueltig(b, c, "", 0, l);
                                            }
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz2 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 4)    // double mit Vorzeichen und Komma
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        if (einfeldKomma > 0)
                                            {
                                            r = Eingabegueltig(b, c, "-,", 1, l);
                                            }
                                        else
                                            {
                                            r = Eingabegueltig(b, c, "-", 1, l);
                                            }
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz1 > 1)
                                    {
                                    x = 12;   
                                    }
                                if (einfeldSonderAnz2 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 5)    // Alphanummerische Eingabe
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            }
                        if (einfeldArt == 6)    // Datum
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, ".", 2, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz3 > 2)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 7)     // Telefonnummer
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "/", 1, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz5 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 8)      // Uhrzeit
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, ":", 2, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz4 > 2)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if ( x == 8)
                            {
                            einfeldText = einfeldAlt;
                            s = einfeldText;
                            setEingabeText(einfeldText);
                            einfeldStell = einfeldText.length();
                            einfeldLang = einfeldText.length();       
                            setEingabeCursor(einfeldStell);
                            x = 0;
                            } 
                        if (x > 0)
                            {
                            einfeldRet = x;   
                            eingabe1.fireEvent(new ActionEvent());
                            }
                        }
                    if (einfeldRet == 0)
                        {
                        einfeldAlt = s;
                        einfeldStell = i;
                        if (einfeldAuto == 1)
                            {
                            if (einfeldStell == einfeldMax)
                                {
                                eingabe1.fireEvent(new ActionEvent());
                                }
                            }
                        }
                    }
                }
            }
        }
    @FXML
    void E2Typed(KeyEvent event)
        {
        int i;
        String s;
        String t;
        int a;
        int l;
        int x;
        Boolean r;
        String b;
        String c;
        if (einfeldNum == 2)
            {
            if (einfeldLauf == 1)
                {
                if (eingabe2.isEditable())
                    {
                    if (einfeldLeer == 1)
                        {
                        anzeigeNum = 2;
                        setAnzeigeText("");
                        }
                    einfeldLeer = 1;
                    s = getEingabeText();
                    i = s.length();
                    t = "";
                    if (i > 0)
                        {
                        t = s.substring(i-1, i);
                        }
                    if (einfeldRet == 0)
                        {
                        einfeldSonderAnz1 = 0;
                        einfeldSonderAnz2 = 0;
                        einfeldSonderAnz3 = 0;
                        einfeldSonderAnz4 = 0;
                        einfeldSonderAnz5 = 0;
                        einfeldLeer = 1;
                        r = Boolean.FALSE;
                        einfeldText = s;
                        x = 7;
                        a = einfeldText.length();
                        if (einfeldArt == 1)    // Integer
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "", 0, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                }
                            }
                        if (einfeldArt == 2)    // integer mit Votzeichen
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "-", 1, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz1 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 3)    // double mit Komma
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        if (einfeldKomma > 0)
                                            {
                                            r = Eingabegueltig(b, c, ",", 1, l);
                                            }
                                        else
                                            {
                                            r = Eingabegueltig(b, c, "", 0, l);
                                            }
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz2 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 4)    // double mit Vorzeichen und Komma
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        if (einfeldKomma > 0)
                                            {
                                            r = Eingabegueltig(b, c, "-,", 1, l);
                                            }
                                        else
                                            {
                                            r = Eingabegueltig(b, c, "-", 1, l);
                                            }
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz1 > 1)
                                    {
                                    x = 12;   
                                    }
                                if (einfeldSonderAnz2 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 5)    // Alphanummerische Eingabe
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            }
                        if (einfeldArt == 6)    // Datum
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, ".", 2, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz3 > 2)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 7)     // Telefonnummer
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, "/", 1, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz5 > 1)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if (einfeldArt == 8)      // Uhrzeit
                            {
                            r = Boolean.TRUE;
                            x = 0;
                            if (a > 0)
                                {
                                c = "0123456789";
                                for (l=0; l<a; l++)
                                    {
                                    if (r)
                                        {
                                        b = einfeldText.substring(l, l+1);
                                        r = Eingabegueltig(b, c, ":", 2, l);
                                        if (!r)
                                            {
                                            x = 8;   
                                            }
                                        }
                                    }
                                if (einfeldSonderAnz4 > 2)
                                    {
                                    x = 12;   
                                    }
                                }
                            }
                        if ( x == 8)
                            {
                            einfeldText = einfeldAlt;
                            s = einfeldText;
                            setEingabeText(einfeldText);
                            einfeldStell = einfeldText.length();
                            einfeldLang = einfeldText.length();       
                            setEingabeCursor(einfeldStell);
                            x = 0;
                            } 
                        if (x > 0)
                            {
                            einfeldRet = x;   
                            eingabe2.fireEvent(new ActionEvent());
                            }
                        }
                    if (einfeldRet == 0)
                        {
                        einfeldAlt = s;
                        einfeldStell = i;
                        if (einfeldAuto == 1)
                            {
                            if (einfeldStell == einfeldMax)
                                {
                                eingabe2.fireEvent(new ActionEvent());
                                }
                            }
                        }
                    }
                }
            }
        }       
    @FXML
    void setKnopfVisible(Boolean wert)
        {
        if (knopfNum == 1)
            {
            knopf1.setVisible(wert);
            }
        if (knopfNum == 2)
            {
            knopf2.setVisible(wert);
            }
        }
    @FXML
    void setAnzeigeVisible(Boolean wert)
        {
        if (anzeigeNum == 1)
            {
            anzeige1.setVisible(wert);
            }
        if (anzeigeNum == 2)
            {
            anzeige2.setVisible(wert);
            }
        if (anzeigeNum == 3)
            {
            anzeige3.setVisible(wert);
            }
        }
    @FXML
    void setEingabeVisible(Boolean wert)
        {
        if (einfeldNum == 1)
            {
            eingabe1.setVisible(wert);
            }
        if (einfeldNum == 2)
            {
            eingabe2.setVisible(wert);
            }
        }
    @FXML
    void setAnzeigeBackground(Paint wert)
        {
        if (anzeigeNum == 1)
            {
            anzeige1.setBackground(new Background(new BackgroundFill(wert,  CornerRadii.EMPTY, Insets.EMPTY)));
            }
        if (anzeigeNum == 2)
            {
            anzeige2.setBackground(new Background(new BackgroundFill(wert,  CornerRadii.EMPTY, Insets.EMPTY)));
            }
        if (anzeigeNum == 3)
            {
            anzeige3.setBackground(new Background(new BackgroundFill(wert,  CornerRadii.EMPTY, Insets.EMPTY)));
            }
        }
    @FXML
    void setEingabeBackground(Paint wert)
        {
        if (einfeldNum == 1)
            {
            eingabe1.setBackground(new Background(new BackgroundFill(wert,  CornerRadii.EMPTY, Insets.EMPTY)));
            }
        if (einfeldNum == 2)
            {
            eingabe2.setBackground(new Background(new BackgroundFill(wert,  CornerRadii.EMPTY, Insets.EMPTY)));
            }
        }
    @FXML
    void setEingabeEditable(Boolean wert)
        {
        String s;
        int l;
        if (einfeldNum == 1)
            {
            eingabe1.setEditable(wert);
            if (wert)
                {
                setEingabeBackground(Color.WHITE);
                eingabe1.requestFocus();
                s = getEingabeText();
                l = s.length();
                eingabe1.positionCaret(l);
                }
            else
                {
                setEingabeBackground(Color.LIGHTGRAY);
                s = getEingabeText();
                l = s.length();
                eingabe1.positionCaret(l);
                einfeldLauf = 0;
                }
            }
        if (einfeldNum == 2)
            {
            eingabe2.setEditable(wert);
            if (wert)
                {
                setEingabeBackground(Color.WHITE);
                eingabe2.requestFocus();
                s = getEingabeText();
                l = s.length();
                eingabe2.positionCaret(l);
                }
            else
                {
                setEingabeBackground(Color.LIGHTGRAY);
                s = getEingabeText();
                l = s.length();
                eingabe2.positionCaret(l);
                einfeldLauf = 0;
                }
            }
        }
    @FXML
    void setEingabeFocus()
        {
        if (einfeldNum == 1)
            {
            eingabe1.requestFocus();
            }
        if (einfeldNum == 2)
            {
            eingabe2.requestFocus();
            }
        }
    @FXML
    void setEingabeCursor(int wert)
        {
        if (einfeldNum == 1)
            {
            eingabe1.positionCaret(wert);
            }
        if (einfeldNum == 2)
            {
            eingabe2.positionCaret(wert);
            }
        }
    @FXML
    String getEingabeText()
        {
        String s = "";
        if (einfeldNum == 1)
            {
            s =  eingabe1.getText();
            }
        if (einfeldNum == 2)
            {
            s =  eingabe2.getText();
            }
        return s;
        }
    @FXML
    void setEingabeText(String wert)
        {
        if (einfeldNum == 1)
            {
            eingabe1.setText(wert);
            }
        if (einfeldNum == 2)
            {
            eingabe2.setText(wert);
            }
        }
    @FXML
    void setAnzeigeText(String wert)
        {
        if (anzeigeNum == 1)
            {
            anzeige1.setText(wert);
            }
        if (anzeigeNum == 2)
            {
            anzeige2.setText(wert);
            }
        if (anzeigeNum == 3)
            {
            anzeige3.setText(wert);
            }
        }
    @FXML
    void eingabeSetzen()
        {
        int i = 0;
        String s;
        einfeldLauf = 0;
        einfeldStell = 0;
        einfeldLang = 0;
        einfeldRet = 1;
        einfeldRet = 0;
       if (einfeldArt < 1)
            {
            einfeldRet = 7;   
            }
        if (einfeldArt > 8)
            {
            einfeldRet = 7;   
            }
        if (einfeldMax < 1)
            {
            einfeldRet = 5;   
            }
        if (einfeldMin > einfeldMax)
            {
            einfeldRet = 4;   
            }
        if (einfeldMin < 0)
            {
            einfeldMin = 0;   
            }
        if (einfeldAnzeige < 0 || einfeldAnzeige > 1)
            {
            einfeldRet = 2;   
            }
        i = einfeldText.length();
        if (i > einfeldMax && einfeldAnzeige == 1)
            {
            einfeldRet = 6;   
            }
        if (einfeldRet == 0)
            {
            if (einfeldArt == 1 || einfeldArt == 2)
                {
                einfeldText = String.valueOf(einfeldInt);   
                }
            if (einfeldArt == 3 || einfeldArt == 4)
                {
                einfeldText = String.valueOf(einfeldDouble);   
                tPunktKomma();   
                }
            if (einfeldArt == 6 && einfeldAnzeige == 1)
                {
                if (i < einfeldMin)
                    {
                    einfeldRet = 9;
                    }
                }
            if (einfeldArt == 8 && einfeldAnzeige == 1)
                {
                if (i < einfeldMin)
                    {
                    einfeldRet = 9;
                    }
                }
            if (einfeldNum == 1)
                {
                if (einfeldRet == 0)
                    {
                    eingabePruef();
                    }
                if (einfeldRet == 0)
                    {
                    einfeldOrg = einfeldText;   
                    einfeldStell = i;
                    einfeldLang = i;
                    setEingabeEditable(Boolean.TRUE);
                    setEingabeText("");
                    if (einfeldAnzeige == 1)
                        {
                        setEingabeText(einfeldText);
                        }
                    setEingabeCursor(i);
                    einfeldAlt = einfeldText;
                    einfeldLauf = 1;
                    }
                else
                    {
                    s = FehlerAus();   
                    eingabe1.fireEvent(new ActionEvent());
                    }
                }
            if (einfeldNum == 2)
                {
                if (einfeldRet == 0)
                    {
                    eingabePruef();
                    }
                if (einfeldRet == 0)
                    {
                    einfeldOrg = einfeldText;   
                    einfeldStell = i;
                    einfeldLang = i;
                    setEingabeEditable(Boolean.TRUE);
                    setEingabeText("");
                    if (einfeldAnzeige == 1)
                        {
                        setEingabeText(einfeldText);
                        }
                    setEingabeCursor(i);
                    einfeldAlt = einfeldText;
                    einfeldLauf = 1;
                    }
                else
                    {
                    s = FehlerAus();   
                    eingabe2.fireEvent(new ActionEvent());
                    }
                }
            }
        }
    @FXML
    void eingabePruef()
        {
        int i;
        int l;
        Boolean r;
        String s;
        String t;
        einfeldSonderAnz1 = 0;
        einfeldSonderAnz2 = 0;
        einfeldSonderAnz3 = 0;
        einfeldSonderAnz4 = 0;
        einfeldSonderAnz5 = 0;
        einfeldLeer = 1;
        r = Boolean.FALSE;
        einfeldRet = 7;
        i = einfeldText.length();
        if (einfeldArt == 1)    // Integer
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        r = Eingabegueltig(s, t, "", 0, l);
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                }
            }
        if (einfeldArt == 2)    // integer mit Votzeichen
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        r = Eingabegueltig(s, t, "-", 1, l);
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz1 > 1)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldArt == 3)    // double mit Komma
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        if (einfeldKomma > 0)
                            {
                            r = Eingabegueltig(s, t, ",", 1, l);
                            }
                        else
                            {
                            r = Eingabegueltig(s, t, "", 0, l);
                            }
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz2 > 1)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldArt == 4)    // double mit Vorzeichen und Komma
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        if (einfeldKomma > 0)
                            {
                            r = Eingabegueltig(s, t, "-,", 1, l);
                            }
                        else
                            {
                            r = Eingabegueltig(s, t, "-", 1, l);
                            }
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz1 > 1)
                    {
                    einfeldRet = 12;   
                    }
                if (einfeldSonderAnz2 > 1)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldArt == 5)    // Alphanummerische Eingabe
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            }
        if (einfeldArt == 6)    // Datum
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        r = Eingabegueltig(s, t, ".", 2, l);
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz3 != 2)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldArt == 7)     // Telefonnummer
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        r = Eingabegueltig(s, t, "/", 1, l);
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz5 > 1)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldArt == 8)      // Uhrzeit
            {
            r = Boolean.TRUE;
            einfeldRet = 0;
            if (i > 0)
                {
                t = "0123456789";
                for (l=0; l<i; l++)
                    {
                    if (r)
                        {
                        s = einfeldText.substring(l, l+1);
                        r = Eingabegueltig(s, t, ":", 2, l);
                        if (!r)
                            {
                            einfeldRet = 8;   
                            }
                        }
                    }
                if (einfeldSonderAnz4 != 2)
                    {
                    einfeldRet = 12;   
                    }
                }
            }
        if (einfeldRet > 0)
            {
            eingabe1.fireEvent(new ActionEvent());
            }
        }
    @FXML
    Boolean Eingabegueltig(String wert, String zulas, String sonder, int sanz, int tposi)
        {
        int i;
        int l;
        int z;
        int b;
        String s;
        String q;
        Boolean w = Boolean.TRUE;   
        i = sonder.length();
        l = wert.length();
        if (l > 0)
            {
            l = zulas.length();
            if (l > 0)
                {
                w = Boolean.FALSE;   
                for (z=0; z < l; z++)
                    {
                    s = zulas.substring(z, z+1);
                    if (s.equals(wert))
                        {
                        w = Boolean.TRUE;   
                        }
                    }
                if (!w)
                    {
                    if (i > 0)
                        {
                        for (b=0; b < i; b++)
                            {
                            q = sonder.substring(b, b+1);
                            if (q.equals( wert))
                                {
                                w = Boolean.TRUE;
                                }
                            }
                        }
                    }
                }
            else
                {
                w = Boolean.FALSE;   
                }
            }
        else
            {
            w = Boolean.FALSE;   
            }
        if (w)
            {
            if (i > 0)
                {
                for (z=0; z < i; z++)
                    {
                    s = sonder.substring(z, z+1);
                    if (s.equals( wert))
                        {
                        if (wert.equals("-"))
                            {
                            einfeldSonderAnz1++;
                            if (tposi > 0)
                                {
                                w = Boolean.FALSE;   
                                }
                            }
                        if (wert.equals(","))
                            {
                            einfeldSonderAnz2++;
                            }
                        if (wert.equals("."))
                            {
                            einfeldSonderAnz3++;
                            }
                        if (wert.equals(":"))
                            {
                            einfeldSonderAnz4++;
                            }
                        if (wert.equals("/"))
                            {
                            einfeldSonderAnz5++;
                            }
                        }
                    }
                if (w)
                    {
                    if (einfeldSonderAnz1 > sanz)
                        {
                        w = Boolean.FALSE;   
                        }
                    if (einfeldSonderAnz2 > sanz)
                        {
                        w = Boolean.FALSE;   
                        }
                    if (einfeldSonderAnz3 > sanz)
                        {
                        w = Boolean.FALSE;   
                        }
                    if (einfeldSonderAnz4 > sanz)
                        {
                        w = Boolean.FALSE;   
                        }
                    if (einfeldSonderAnz5 > sanz)
                        {
                        w = Boolean.FALSE;   
                        }
                    }
                }
            }
        return w;
        }
    @FXML
    void tKommaPunkt()
        {
        int i;
        int l;
        String s;
        String t;
        l = einfeldText.length();
        if (l > 0)
            {
            t = "";   
            for (i=0; i < l; i++)
                {
                s = einfeldText.substring(i, i+1);
                if (s.equals(","))
                    {
                    s = ".";       
                    }
                t += s;
                }
            einfeldText = t;
            }
        }
    @FXML
    void tPunktKomma()
        {
        int i;
        int l;
        String s;
        String t;
        l = einfeldText.length();
        if (l > 0)
            {
            t = "";   
            for (i=0; i < l; i++)
                {
                s = einfeldText.substring(i, i+1);
                if (s.equals("."))
                    {
                    s = ",";       
                    }
                t += s;
                }
            einfeldText = t;
            }
        }
    @FXML
    String FehlerAus()
        {
        String s = "";
        if (einfeldRet == 1)
            {
            s = "Aufruf eingabeSeten mit einfeldNum = 0";   
            }
        if (einfeldRet == 2)
            {
            s = "einfeldAnzeige ungültig";   
            }
        if (einfeldRet == 3)
            {
            s = "Eingabe > einfeldMax";   
            }
        if (einfeldRet == 4)
            {
            s = "einfeldMin > einfeldMax";   
            }
        if (einfeldRet == 5)
            {
            s = "einfeldMax < 1";   
            }
        if (einfeldRet == 6)
            {
            s = "Länge einfeldText > einfeldMax";   
            }
        if (einfeldRet == 7)
            {
            s = "einfeldArt nicht zulässig";   
            }
        if (einfeldRet == 8)
            {
            s = "Eingabewert in einfeldText nicht zulässig";   
            }
        if (einfeldRet == 9)
            {
            s = "Übergabewert einfeldText nicht OK";   
            }
        if (einfeldRet == 10)
            {
            s = "Datum nicht zulässig";   
            }
        if (einfeldRet == 11)
            {
            s = "Uhrzeit nicht zulässig";   
            }
        if (einfeldRet == 12)
            {
            s = "zu viele Sonderzeichen";   
            }
        return s;
        }
    @FXML
    void KonvDateTime()
        {
        int i;
        int l;
        int a;
        String s;
        String t;
        if (einfeldType == 1)
            {
            String jj = "";
            String mo = "";
            String dd = "";
            String hh = "";
            String mi = "";
            String ss = "";
            i = einfeldSDT.length();
            einfeldDD = 0;
            einfeldMO = 0;
            einfeldJJ = 0;
            einfeldHH = 0;
            einfeldMI = 0;
            einfeldSS = 0;
            if (i == 19)
                {
                for (l=0; l < i; l++)
                    {
                    s = einfeldSDT.substring(l, l+1);
                    if (l < 2)
                        {
                        dd += s;
                        }
                    if (l > 2 && l < 5)
                        {
                        mo += s;
                        }
                    if (l > 5 && l < 10)
                        {
                        jj += s;
                        }
                    if (l > 10 && l < 13)
                        {
                        hh += s;
                        }
                    if (l > 13 && l < 16)
                        {
                        mi += s;
                        }
                    if (l > 16)
                        {
                        ss += s;
                        }
                    }
                einfeldJJ = Integer.valueOf(jj);
                einfeldMO = Integer.valueOf(mo);
                einfeldDD = Integer.valueOf(dd);
                einfeldHH = Integer.valueOf(hh);
                einfeldMI = Integer.valueOf(mi);
                einfeldSS = Integer.valueOf(ss);
                }
            }
        if (einfeldType == 2)
            {
            einfeldSDT = Integer.toString(einfeldJJ);   
            t = Integer.toString(einfeldMO);
            i = t.length();
            if (i == 1)
                {
                t = "0"+t;   
                }
            einfeldSDT += "-"+t;
            t = Integer.toString(einfeldDD);
            i = t.length();
            if (i == 1)
                {
                t = "0"+t;   
                }
            einfeldSDT += "-"+t;
            t = Integer.toString(einfeldHH);
            i = t.length();
            if (i == 1)
                {
                t = "0"+t;   
                }
            einfeldSDT += " "+t;
            t = Integer.toString(einfeldMI);
            i = t.length();
            if (i == 1)
                {
                t = "0"+t;   
                }
            einfeldSDT += ":"+t;
            t = Integer.toString(einfeldSS);
            i = t.length();
            if (i == 1)
                {
                t = "0"+t;   
                }
            einfeldSDT += ":"+t;
            }
        if (einfeldType == 3)
            {
            einfeldSDT = "";   
            if (einfeldDD > 0 && einfeldDD < 32)
                {
                if (einfeldMO > 0 && einfeldMO < 13)
                    {
                    if (einfeldJJ > 1699)
                        {
                        einfeldSDT = Integer.toString(einfeldDD);   
                        einfeldSDT += "."+Integer.toString(einfeldMO);
                        einfeldSDT += "."+Integer.toString(einfeldJJ);
                        }
                    }
                }
            }
        if (einfeldType == 4)
            {
            einfeldSDT = "";   
            if (einfeldHH < 24)
                {
                if (einfeldMI < 60)
                    {   
                    if (einfeldSS < 60)
                        {
                        einfeldSDT = Integer.toString(einfeldHH);   
                        einfeldSDT += ":"+Integer.toString(einfeldMI);
                        einfeldSDT += ":"+Integer.toString(einfeldSS);
                        }
                    }
                }
            }
        if (einfeldType == 5)
            {
            String jj = "";
            String mo = "";
            String dd = "";
            i = einfeldSDT.length();
            einfeldDD = 0;
            einfeldMO = 0;
            einfeldJJ = 0;
            if (i > 7)
                {
                a = 1;   
                for (l=0; l < i; l++)
                    {
                    s = einfeldSDT.substring(l, l+1);
                    if (s.equals("."))
                        {
                        a++;   
                        }
                    else
                        {
                        if (a == 1)
                            {
                            dd += s;
                            }
                        if (a == 2)
                            {
                            mo += s;
                            }
                        if (a == 3)
                            {
                            jj += s;
                            }
                        }
                    }
                einfeldJJ = Integer.valueOf(jj);
                einfeldMO = Integer.valueOf(mo);
                einfeldDD = Integer.valueOf(dd);
                }
            }
        if (einfeldType == 6)
            {
            String hh = "";
            String mi = "";
            String ss = "";
            i = einfeldSDT.length();
            einfeldHH = 0;
            einfeldMI = 0;
            einfeldSS = 0;
            if (i > 5)
                {
                a = 1;   
                for (l=0; l < i; l++)
                    {
                    s = einfeldSDT.substring(l, l+1);
                    if (s.equals(":"))
                        {
                        a++;   
                        }
                    else
                        {
                        if (a == 1)
                            {
                            hh += s;
                            }
                        if (a == 2)
                            {
                            mi += s;
                            }
                        if (a == 3)
                            {
                            ss += s;
                            }
                        }
                    }
                einfeldHH = Integer.valueOf(hh);
                einfeldMI = Integer.valueOf(mi);
                einfeldSS = Integer.valueOf(ss);
                }
            }
        }
    }

//        anzeige1.setVisible(true);
//        anzeige1.setText("   Label 1   ");
//        anzeige1.setTextFill(Color.YELLOW);
//        anzeige1.setFont(Font.font("Arial Bold", FontWeight.BOLD, 30));
//        anzeige1.setBackground(new Background(new BackgroundFill(Color.BLUE,  CornerRadii.EMPTY, Insets.EMPTY)));

//        eingabe1.setVisible(true);
//        eingabe1.setEditable(false);
//        eingabe1.setText("");
//        eingabe1.setFont(Font.font("Arial Bold", FontWeight.BOLD, 30));
//        eingabe1.setBackground(new Background(new BackgroundFill(Color.LIGHTGRAY,  CornerRadii.EMPTY, Insets.EMPTY)));

//        knopf1.setVisible(true);
 

Anhänge

  • fenster.zip
    827 Bytes · Aufrufe: 0
  • bild1.jpg
    bild1.jpg
    129 KB · Aufrufe: 0

Juelin

Bekanntes Mitglied
Hallo,
nicht anstrengen, ich habe es gefunden.
Im Event E2Typed = on KeyTyped prüfe ich die Eingabe.
Und wenn die Eingabelänge = einfeldMax ist löse ich den ActionEvent aus.
Das ist zwar normal, ich dachte halt nicht, das das Event E2Typed ausgelöst wird ohne eine Eingabe.
Wie auch immer, Problem gelöst. Nicht mehr suchen.
Danke und Gruß
Jürgen
 

AndiE

Top Contributor
Das ist viel zu viel Code in zwei Klassen. Grundsätzlich trennt man solche Programme in die Bereiche View->Model->Controler. (MVC-Pattern) Meist sogar auch die App seperat. Man hat also eine Klasse, wo die App drin ist. Die ruft dann meist die Klasse auf, in der drin steht, was wie angezeigt wird. In dieser Klasse werden auch die ActionListener definiert, die aber meist Methoden in der "Controler"-Klasse aufrufen. Diese wiederum rufen Methoden auf, die sich auf das Datenmodell beziehen.
In deinem Fall würde ich die Validierung der Eingabe auf eine Fachklasse auslagern. Dann kannst du auch ohne GUI deren Funktion prüfen.

Ansonsten lassen sich Methoden auch mit mehreren Parametern aufrufen.

Gerade bei einer so universell einsetzbaren Funktion würde ich eher eine Klassenhierachie anstreben: Also eine Mutterklasse, die dann von verschiedenen Unterklassen spezialisiert wird.

Mir fällt auch auf, dass die Variablen alle "einfeld" als Präfix haben. Wieso das denn? Statt "einfeldSonderAnz5" würde "anzSlash" viel aussagekräftiger sein.

Ansonsten kann man auch "Konstantenklassen" aufbauen, die nur solche Werte enthalten. Das erleichtert das Schreiben und die Wartung solcher Programme.
 

M.L.

Top Contributor
Längerfristig soll(te) man die Code-Teile mit geringer Änderungs-/Erweiterungsrate zusammenfügen und die mit höherer Änderungs-/Erweiterungsrate geschickt auslagern (Sinn der Sache: damit werden Änderungen / Erweiterungen / Wartungen / .."nur" an einer (zentralen) Stelle vorgenommen. Egal ob mit Delphi, Java(FX),...). Zum Thema MVC und JavaFX findet sich unter https://edencoding.com/mvc-in-javafx/ ebenfalls ein Beitrag.
 

AndiE

Top Contributor
Java:
// Code-Beispiel

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;


public class Greeting extends Application {

    @Override
    public void start(Stage primaryStage){

      
        GridPane grid = new GridPane();
        grid.setAlignment(Pos.CENTER);
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(25, 25, 25, 25));
        Text scenetitle = new Text("Welcome");
        scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
        grid.add(scenetitle, 0, 0, 2, 1);

        Label userName = new Label("User Name:");
        grid.add(userName, 0, 1);

        TextField userTextField = new TextField();
        grid.add(userTextField, 1, 1);

        Label pw = new Label("Password:");
        grid.add(pw, 0, 2);

        TextField pwBox = new TextField();
        grid.add(pwBox, 1, 2);

        Button btn = new Button("Sign in");
        HBox hbBtn = new HBox(10);
        hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
        hbBtn.getChildren().add(btn);
        grid.add(hbBtn, 1, 4);
        
        final Text actiontarget = new Text();
        grid.add(actiontarget, 1, 6);
        
        btn.setOnAction(new EventHandler<ActionEvent>() {
            
            @Override
            public void handle(ActionEvent e) {
                actiontarget.setFill(Color.FIREBRICK);
                actiontarget.setText("Sign in button pressed");
            }
        });
        Scene scene = new Scene(grid, 300, 275);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Ich habe mal geklaut. Dieser Code steht so bei Oracle. Es zeigt etwa das Gleiche wie dein Code an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JTabbedProblem - "komisches" Verhalten AWT, Swing, JavaFX & SWT 2
M Komisches Verhalten: JCombobox mit KeyListener AWT, Swing, JavaFX & SWT 13
hdi Swing Komisches Problem mit TableModel & setAutoCreateRowSorter AWT, Swing, JavaFX & SWT 2
B Komisches Problem mit actionPerformed() AWT, Swing, JavaFX & SWT 2
A Beim Füllen von JList entsteht ein komisches Phänomen AWT, Swing, JavaFX & SWT 3
E transparenz (alpha) - komisches aussehen von textfeldern! AWT, Swing, JavaFX & SWT 2
S jList = komisches Ding! AWT, Swing, JavaFX & SWT 12
R JTable: komisches Klickverhalten AWT, Swing, JavaFX & SWT 2
Hatsi09 JavaFx Mediaplayer seltsames Verhalten AWT, Swing, JavaFX & SWT 0
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
pkm kryptisches Verhalten bei GridLayout AWT, Swing, JavaFX & SWT 4
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
D Merkwürdiges Verhalten vom JMenu AWT, Swing, JavaFX & SWT 4
T JavaFX Verhalten ImageView bei grossen BIlddateien AWT, Swing, JavaFX & SWT 0
HarleyDavidson Swing Seltsames Verhalten GridBagLayout AWT, Swing, JavaFX & SWT 11
P JFrame langsam / seltsames Verhalten AWT, Swing, JavaFX & SWT 6
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
P Swing Seltsames ActionListener-Verhalten AWT, Swing, JavaFX & SWT 7
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
D Seltsames Verhalten meiner CheckBoxen AWT, Swing, JavaFX & SWT 7
N Swing Dynamisches Verhalten bei Änderung Fenstergröße AWT, Swing, JavaFX & SWT 6
E Swing Fehlerhaftes Verhalten bei gleichzeitigen Verwendnen von PopUpMenu und JDialog?! AWT, Swing, JavaFX & SWT 5
Ollek JTextField Verhalten mit LayoutManager AWT, Swing, JavaFX & SWT 8
E Swing Maskformatter Verhalten?! AWT, Swing, JavaFX & SWT 5
A JTreeTable - unerklärliches Verhalten von getValueAt AWT, Swing, JavaFX & SWT 2
F Merkwürdiges Verhalten zeichnen sperater Thread AWT, Swing, JavaFX & SWT 13
hdi SWT Shell: Auslagerung von Code verändert Verhalten AWT, Swing, JavaFX & SWT 6
U Verhalten des CheckBoxCellEditors AWT, Swing, JavaFX & SWT 3
H2SO3- AWT seltsammes verhalten eines Panels AWT, Swing, JavaFX & SWT 9
pinerski Swing JList merkwürdiges Verhalten beim sortieren AWT, Swing, JavaFX & SWT 3
I Hyper-Link ähnliches Verhalten AWT, Swing, JavaFX & SWT 5
L JFrame-Verhalten bei Klick auf Schließen-Kreuz ändern AWT, Swing, JavaFX & SWT 3
R JProgressBar-Verhalten AWT, Swing, JavaFX & SWT 5
dzim [SWT] Seltsames verhalten bei TableViewer mit TextCellEditor AWT, Swing, JavaFX & SWT 5
G Seltsames Verhalten JButton AWT, Swing, JavaFX & SWT 6
J JScrollBar scroll-Verhalten auf 2 JButtons umleiten? AWT, Swing, JavaFX & SWT 2
ARadauer bestimmtes verhalten für jtable AWT, Swing, JavaFX & SWT 6
M Merkwürdiges Verhalten von ListCellRender AWT, Swing, JavaFX & SWT 2
M Seltsames Verhalten Tooltip und JDialog AWT, Swing, JavaFX & SWT 8
S Wie verhalten sich transparente Grafiken? AWT, Swing, JavaFX & SWT 5
sparrow Tasten mit Umlauten im KeyListener verhalten sich seltsam AWT, Swing, JavaFX & SWT 4
S Seltsames verhalten des Befehles getContentPane().add(.) AWT, Swing, JavaFX & SWT 7
K JList - merkwürdiges Verhalten bei Leertaste (unter Focus) AWT, Swing, JavaFX & SWT 7
M drawImage mit seltsamen verhalten AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben