Eingabensteuerung mit Textfield

Juelin

Bekanntes Mitglied
Halllo Community,
ich hatte es ja schon angekündigt.
Ich wollte ein Programm machen, welches verhindert, dass der Anwender falsche Eingaben machen kann.
So hier ist es.
Versucht doch mal in den beiden Eingabefeldern Buchstaben oder Sonderzeichen ein zu geben.
Viel Spaß!!!!!!
Es wird nicht gelingen.

So jetzt die Prokramme App.java und fensterController.java

Java:
package com.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
                                 // 2 = damit beim Init des Feldes nicht gleich der ActionEvent ausgelösr wird
    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 = 2;
                                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());
                                }
                            }
                        else
                            {
                            if (einfeldAuto == 2)
                                {
                                einfeldAuto = 1;
                                }
                            }
                        }
                    }
                }
            }
        }
    @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());
                                }
                            }
                        else
                            {
                            if (einfeldAuto == 2)
                                {
                                einfeldAuto = 1;
                                }
                            }
                        }
                    }
                }
            }
        }      
    @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);
                }
            }
        }
    }
 

Anhänge

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

Marinek

Bekanntes Mitglied
Puhh. Das ist schon extrem viel code für eine so einfache Funktion.

Üblicherweise ist es so, dass man pro Feld einen entsprechenden Zeitpunkt festlegt, wann man eine valide Eingabe benötigt.

In deinem Fall wäre es denkbar dies bei der Eingabe zu machen oder beim verlassen des Felds.

Dann wird eine Validierung durchgeführt. Ich persönlich würde das vermutlich im Model machen.

Hauptsache eine Stelle.

Die Validierung könnte zum Beispiel mit einem regex durchgeführt werden.

Ich würde schätzen bei zwei Feldern, dass man auf keinen Fall mehr als 200 Zeilen code braucht. Vermutlich eher so 30?
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
Erst einmal super, was Du Dir für Arbeit gemacht hast und was Du da alles hin bekommen hast. Und Danke für das Teilen des Codes.

Mir sind hier sehr viele Dinge aufgefallen und ich werde einmal versuchen, da einiges zu antworten. Die Posts werden ggf. etwas länger, daher teile ich es in mehrere Antworten auf. Der letzte Punkt wird vermutlich auch mehrere Antworten umfassen, da hier sehr viel zu nennen ist.
Die folgenden Antworten beschäftigen sich mit:
a) Funktionalität
b) Wie könnte man die gewünschte Funktionalität sonst umsetzen?
c) Refactoring deines Codes

Funktionalität
Versucht doch mal in den beiden Eingabefeldern Buchstaben oder Sonderzeichen ein zu geben.
Challenge accepted:
1711346340315.png

Durch Copy & Paste ist das so möglich.

Ansonsten war die Funktionalität gegeben. Die eingebbaren Zeichen sind begrenzt und am Ende wird gesagt, ob die Eingabe gültig war oder nicht. Das schien soweit zu funktionieren.
 

KonradN

Super-Moderator
Mitarbeiter
Wie könnte man die gewünschte Funktionalität sonst umsetzen?

Es ist ja schon angeklungen, dass man es ggf. besser machen kann. Dazu nutzen wir zwei Listener, die ggf. nicht direkt im SceneBuilder verfügbar sind. Ich mache es hier per Code.

Als erstes brauchen wir eine Möglichkeit nach der Arbeit des FXMLLoaders die Listeners hinzu zu fügen. Das kann man über Initializable machen. (Ist nicht zwingend notwendig. Eine initialize Methode selbst wird wohl auch schon ausreichen. Aber der Weg über das Interface ist in meinen Augen sauberer)

Also implementiert der Controller dieses Interface nun:
public class fensterController implements Initializable

Und dann natürlich die Methoden selbst:
Java:
    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
        eingabe1.textProperty().addListener(this::removeInvalidDateChars);
        eingabe1.focusedProperty().addListener((observable, oldValue, newValue) -> checkDate(newValue, eingabe1));
    }

    private void checkDate(boolean hasFocus, TextField textField) {
        if (!hasFocus) {
            // Hier textField Inhalt als Datum parsen und ggf. reagieren.
        }
    }

    private void removeInvalidDateChars(Observable observable, String oldValue, String newValue) {
        ((StringProperty) observable).setValue(newValue.replaceAll("[^\\d.]", ""));
    }

Ich habe die Prüfungen selbst in Methoden ausgelagert. Bei der Prüfung der Eingabe reichen die Parameter aus. Daher konnte man da einfach eine Methodenreferenz nehmen. Was dort gemacht wird ist dann halt einfach, dass der neue Wert genommen wird und alle ungültigen Zeichen entfernt werden. Und das wird dann erneut gesetzt. Der Cast wird leider notwendig, da Observable nur zum beobachten da ist. Aber man bekommt da die StringProperty vom TextField und daher der Cast damit ich setValue aufrufen kann.

Der reguläre Ausdruck ist eine Menge an Zeichen (die [...] bilden eine Menge an möglichen Zeichen und es wird ein Zeichen davon gematched.) und die Angabe wird umgedreht (das ^ sagt, dass die Angabe sozusagen invertiert wird.)
und wir erlauben damit nur Zahlen (\d steht für die Ziffern 0-9) und den .

Da wir auf Veränderungen der StringProperty reagieren ist es egal, wie dieser verändert wurde, also auch Copy&Paste werden genommen.

Man könnte das noch erweitern und z.B. bei Längen > 10 Zeichen nur die ersten 10 Zeichen stehen zu lassen. Aber das ist erst einmal nebensächlich.

Das zweite Event ist von der focusProperty - wenn der Fokus das Control verlässt, dann wollen wir den Wert prüfen. Da wir hier nicht die notwendigen Elemente haben, habe ich angedeutet, wie man das als Lambda Expression verbessern kann. Hier habe ich nur das TextField übergeben, aber hier könnte man mehr übergeben wie z.B. das Control für die Benachrichtigung und so. Oder eine Property für den geparsten Wert könnte man mit übergeben.

Die Prüfung habe ich weggelassen. Hier könnte man ein eigenen regulären Ausdruck verwenden oder man versucht einfach das Datum zu parsen. Wenn das fehlschlägt, dann ist das Datum ungültig und wenn es sich parsen lässt, dann ist es gültig. Also auch kein komplexer Code.

Die Prüfung von der Uhrzeit könnte nach genau dem gleichen Schema erfolgen.
 

KonradN

Super-Moderator
Mitarbeiter
Refactoring deines Codes

Jetzt kommen wir zu der eigentlichen Herausforderung: Refactoring deines Codes. Hier ist wichtig: Ich zeige Verbesserungsmöglichkeiten auf. Dabei skizziere ich das Vorgehen nur. So gebe ich keine Checks mit, aber natürlich sollte man Parameter verifizieren und dann z.B. darauf achten, dass der Index zu einem Array gültig ist oder so.

a) Coding Styleguide: Es gibt in Java einen Styleguide, an den man sich in der Regel hält. Da sind so diverse Dinge drin, wie man seinen Code schreibt. So werden Bezeichner auf eine bestimmte Art und Weise geschrieben:
Klassen / Interfaces / ... fangen mit einem großen Buchstaben an: FensterController statt fensterController
Methoden und Variablen fangen mit einem kleinen Buchstaben an: B1Click wäre dann b1Click und so.

b) saubere Bezeichner: b1Click erfordert viel Wissen. b steht hier für Button ... aber das ist nicht wirklich einleuchtend. Und dann b1, b2, ...? Was war denn b1? Was war b2? Fällt Dir der Fehler auf, wenn Du an einer Stelle b1 statt b2 schreibst? Oder knopf1 statt knopf2? Da wirklich sagen, was das für Knöpfe sind. Da wären Namen wie beendenKnopf und resetKnopf deutlich besser bei den Feldern. Bei den Methoden ist wichtig, was die machen und nicht, wann diese aufgerufen werden. Es ist also nicht interessant, dass die Methode aufgerufen wird, wenn der beendenKnopf gedrückt wird sondern es ist wichtig: Die Methode beendet die Anwendung.

c) Übergib notwendige Dinge:
Java:
        gVarRout.knopfNum = 1;
        gVarRout.setKnopfVisible(Boolean.TRUE);
        gVarRout.knopfNum = 2;
        gVarRout.setKnopfVisible(Boolean.TRUE);

Zum einen erfordert die Methode, dass man immer erst diese knopfNum setzt um dann die Methode aufzurufen. Und die Variable hat eigentlich keinen anderen Sinn außer eben für diese Übergabe. Daher sollte man das doch einfach als Parameter übergeben:
Java:
        gVarRout.setKnopfVisible(1, Boolean.TRUE);
        gVarRout.setKnopfVisible(2, Boolean.TRUE);

d) Magic numbers -> Enums
Du hast sehr viele magic numbers. Ich muss nur schauen:
Die Nummerierung von Controls ist schon das erste.
Dann hast Du noch im Controller viele Dinge per Kommentar definiert wie:
Code:
    // 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;

Hier wäre eine Regel in meinen Augen: Wenn Du eine Notwendigkeit für einen Kommentar siehst, dann ist dies immer ein Zeichen, dass Du deinen Code umschreiben solltest.

Was Du bei so Aufzählungen machen kannst ist z.B. die Verwendung von Enumerations. Dann hast Du nicht mehr 1...6 als int sondern eine Enum mit STRING_TO_INTEGER_GERMAN, INTEGER_TO_STRING_ENGLISH, ....
Das ist dann im Code selbsterklärend.
Um den Sinn kurz zu verdeutlichen: Du irrst Dich und schreibst versehentlich eine 3 statt einer 4. Den Fehler siehst Du im Code nur sehr schwer. Aber mit den Enums ist klar: Du hast da etwas mit einem Datum, obwohl Du etwas mit einer Uhrzeit machen willst? Das fällt auf!

e) Magic numbers -> Constants

Die magischen Zahlen 1, 2, 3,... sind schwer zu lesen. Was verbirgt sich hinter welcher Zahl? Da kannst Du Konstanten machen. Dann hast Du bei den Aufrufen z.B.
gVarRout.setKnopfVisible(EXIT_BUTTON_ID, Boolean.TRUE)
Dann ist klar: Das macht den exit Knopf sichtbar.

f) if / else if / ... Konstrukte (und ähnliches)
Java:
    void setEingabeVisible(Boolean wert)
    {
        if (einfeldNum == 1)
        {
            eingabe1.setVisible(wert);
        }
        if (einfeldNum == 2)
        {
            eingabe2.setVisible(wert);
        }
    }
Du hast nur if und keine else dabei, aber hier dreht sich alles um das Gleiche.

Neben den magic numbers hast Du da aber auch ein Problem mit der Lesbarkeit. Bei zwei Controls geht es ja, aber stell Dir mal vor, dass Du ganz viele hast ....

Eine Form, es etwas lesbarer zu machen, könnte sein, eine switch Anweisung zu verwenden. Das macht es aber nicht wirklich besser.

Dann könnte man sich überlegen: Brauche ich das überhaupt? Warum mache ich nicht zwei Methoden? Also statt einer Methode setEingabeVisible hast Du dann setDatumEingabeVisible und setUhrzeitEingabeVisible. Aber macht es das wirklich besser? Immer noch sehr viel Code.

Also kann man sich Datenstrukturen schaffen, in denen man die Controls ablegt. Bei Zugriffen über einen Index könnte man z.B, ein Array verwenden. Oder man nimmt eine Map. Diese Datenstruktur müsste man dann am Anfang einmal initialisieren (initialize Methode) aber dann hat man sehr einfache Zugriffe:
Java:
    void setEingabeVisible(int feldNummer, Boolean wert)
    {
        eingabeFelder[feldNummer].setVisible(wert);
    }

Man kann sich aber auch überlegen, on man nicht schon bestimmte Datenstrukturen hat. So hat man ja das fxml und das wird geladen. Ich habe also Nodes und kann dort nach der id schauen. Ein erster schneller Wurf mit ChatGPT wäre da dann eine Methode wie:
Java:
    public static Node findNode(Parent root, String fxId) {
        for (Node node : root.getChildrenUnmodifiable()) {
            if (fxId.equals(node.getId())) {
                return node;
            }
            if (node instanceof Parent) {
                Node foundNode = findNode((Parent) node, fxId);
                if (foundNode != null) {
                    return foundNode;
                }
            }
        }
        return null;
    }
Wobei man hier noch optimieren kann. Statt Node zurück zu geben, könnte man noch die Class der Node prüfen und das als Generic verwenden.

Dank ChatGPT wäre da der Vorschlag für eine Klasse mit so einer Methode:
Java:
import javafx.scene.Node;
import javafx.scene.Parent;

public class FxmlElementFinder {

    public static <T extends Node> T findNode(Class<T> clazz, Parent root, String fxId) {
        for (Node node : root.getChildrenUnmodifiable()) {
            if (clazz.isInstance(node) && fxId.equals(node.getId())) {
                return clazz.cast(node);
            }
            if (node instanceof Parent) {
                T foundNode = findNode(clazz, (Parent) node, fxId);
                if (foundNode != null) {
                    return foundNode;
                }
            }
        }
        return null;
    }
}
(Ist aber ungetestet, aber sieht erst einmal gut aus. class.cast(node) hätte ich evtl. durch (T) node ersetzt?)

Statt int würdest Du dann die fx:id verwenden. Diese sollten dann aber auch in Konstanten sein, also wird aus
public final static int EXIT_BUTTON_ID = 1;
ein
Statt int würdest Du dann die fx:id verwenden. Diese sollten dann aber auch in Konstanten sein, also wird aus
public final static String EXIT_BUTTON_ID = "exitButton";

Und dann wird in der Methode nur nach dem Button gesucht und wenn gefunden, wird setVisible aufgerufen.

Das erst einmal als erste, schnell Rückmeldung. Es gibt noch viel mehr, aber das muss ich dann nach und nach in Pausen machen.
 

Juelin

Bekanntes Mitglied
Hi Konrad,
ich habe gerade mal Deine Antwort überflogen.
Du bist einfach super. Toll was Du Dir für eine Mühe machst.
Aber ich bin so wie Du.
Mir macht das Programmieren Spass und man kan nie auslernen.
Ich bin zwar schon 74 Jahre alt und es geht nicht mehr so wie früher.
Aber ich gebe mir Mühe und es es ist immer noch ein schönbes Erlebnis, wenn ein Programm so läuft wie es soll.
Ja als Programmierer kann man sich seine Erfolgserlebnisse selber machen.
Ich werde deine Vorschläge prüfen und einbauen.
Nochmals recht herzlichen Dank, ich melde mich wieder, wenn ich alles getestet habe.
eine schöne Osterwoche.
Gruß
Jürgen
 

mihe7

Top Contributor
@Juelin bitte poste keine persönlichen Daten in öffentlichen Bereichen des Internets. Du kannst einen privaten Chat öffnen, indem Du über das Profilbild des gewünschten Users links von der Nachricht fährst, dann öffnet sich ein kleines Fenster, in dem steht "Gespräch beginnen" (funktioniert nur, wenn der Benutzer private Chats zulässt). Sieht dann bei Dir so aus:

1711369192379.png

Dort draufklicken, dann startest Du sozusagen einen Thread, den nur die User sehen, die am Chat teilnehmen. Würde ich also in dem Bild auf "Gespräch beginnen" klicken, dann würden wir beide chatten. Die Zeit, in der Du selbst bearbeiten kannst, dürfte schon rum sein, @KonradN wird das bestimmt korrigieren.

Eigentlich wollte ich ja was zum Thema schreiben, jetzt habe ich vergessen, was es war 🤣
 

mihe7

Top Contributor
Ah, ja... ich weiß wieder: die Kommentare. Eines meiner Lieblingsthemen. Kommentare sind viel zu oft ein Zeichen dafür, dass etwas mit dem Code nicht stimmt.

Um das zu zeigen, zäume ich mal das Pferd von hinten auf:
Java:
                                if (einfeldSonderAnz1 > 1)
                                    {
                                    x = 12;  
                                    }
                                if (einfeldSonderAnz2 > 1)
                                    {
                                    x = 12;  
                                    }
Wenn Du den Code in drei Wochen vor Dir hast, fragst Du Dich: oh, mein Gott, was ist "einfeldSonderAnz1" und was ist "einfeldSonderAnz2"? Wenn ich den Code vor mir habe, sagt mir das Schnipsel praktisch gar nichts; ich könnte eventuell noch ableiten, dass es um irgendeine Anzahl geht, das war's dann aber auch schon.

Gut, dass die IDEs zur Deklaration springen können (was der Editor hier leider nicht kann: und wenn ich nicht gestorben bin, scrolle ich heute noch...):
Java:
private int einfeldSonderAnz1; // Anzahl Sonderzeichen -
private int einfeldSonderAnz2; // Anzahl Sonderzeichen ,
Puh, Gott sei Dank steht da ein Kommentar... Super, hat sich die Dokumentation schon ausgezahlt.

Gut, nicht wirklich: zuerst hast Du Zeit investiert, um einen Kommentar zu schreiben, dann musst Du den Kommentar finden, um zu wissen, worum es geht. Dann auch noch lesen und das Zeichen am Zeilenende sollte man dabei auch nicht überlesen.

Die Frage ist: warum nicht gleich so benennen?

Java:
private int anzahlMinuszeichen;
private int anzahlKommas;
// usw.

Dann ändert sich der Code zu
Java:
                                if (anzahlMinuszeichen > 1) 
                                    {
                                    x = 12;  
                                    }
                                if (anzahlKommas > 1)
                                    {
                                    x = 12;  
                                    }

Kleine Änderung, große Wirkung.

Wenn man wollte, könnte man auch ein Array und Konstanten für den Index verwenden:
Java:
private static final int MINUS = 0;
private static final int KOMMA = 1;
// usw.

private int[] anzahlSonderzeichen = ...;
und dann
Code:
                                if (anzahlSonderzeichen[MINUS] > 1) 
                                    {
                                    x = 12;  
                                    }
                                if (anzahlSonderzeichen[KOMMA] > 1)
                                    {
                                    x = 12;  
                                    }
schreiben. Natürlich gäbe es noch andere Möglichkeiten, das ist aber gar nicht das Thema: praktisch alles ist besser als einfeldSonderAnz1; // Anzahl Sonderzeichen - .
 

M.L.

Top Contributor
so läuft wie es soll
(offtopic) Mit (zu) wenig Erfahrung ist es verlockend, lesbaren Code zu schreiben (statt fortgeschrittenere Methoden anzuwenden, wo man den Sinn des Codes auf die Schnelle gerade nicht erkennt). (Edit: "Predigt" gestrichen) In "fensterColler.java" sind z.B. strukturelle Ähnlichkeiten bei "E1Action" und "E2Action" / "E1Typed" und "E2Typed" festzustellen.
 

Juelin

Bekanntes Mitglied
Hallo Konrad,
ich habe jetzt Deine Vorschläge abgearbeitet.
A-C kein Problem umgesetzt.
D-F Probleme. Was sind Magic Numbers?
Ich merke ich bin ja noch Anfänger und das ist mir noch zu hoch.
Trotzdem nochmals vielen Dank für Deine Hilfe.
Gruß Jürgen
 

KonradN

Super-Moderator
Mitarbeiter
Was sind Magic Numbers?
Damit werden feste Werte bezeichnet, die man mitten im Code findet. Also wenn Du etwas hast wie x = 12; Die 12 ist dann eine magic number. Aber ich würde das nicht nur auf Zahlen beziehen sondern generell auf alle Literale. Wenn Du die id eines Controls nutzt, dann ist "datumFeld" auch eine solche...

Wieso ist das Problematisch?
Zum einen besagt die 12 nichts. Was 12?
Du hast eine solche Konstante nun an mehreren Stellen im Code verwendet. Und jetzt stellst Du fest: Mist, das muss nicht 12 sein sondern 13. Dann gehst Du das ganze Projekt durch und änderst das überall. Hast Du alle Stellen gefunden? Und was, wenn etwas anderes auch 12 ist: Sicher, dass Du da nicht eine 12 versehentlich auf 13 geändert hast?
Daher ist die Lösung: Ziehe diese Werte in Konstanten.

Dann hast Du im RoomService Code stehen:

Code:
while (anzahlAepfelInKorb < SOLL_ANZAHL_AEPFEL_AUF_ZIMMER) {
    fuegeApfelZuKorbHinzu();
}

SOLL_ANZAHL_AEPFEL_AUF_ZIMMER ist dann eine Konstante, die definiert wurde. Wenn sich daran was ändert, dann musst Du es nur an einer Stelle anpassen.

Das wäre so eine einfache mögliche Umgehung, die üblich ist, wenn die Zahl wirklich als Zahl benötigt wird.

Bei Dir ist das Problem aber: Du meinst nicht 1, 2, 3, ..... Du meinst ja etwas anderes. Das, was Du dann als Kommentar geschrieben hast. Die Lösung mit den Konstanten ginge hier auch, aber hier kommt eine andere Sache hinzu:
Du hast eine Auswahl: 1, 2 oder 3. Wenn Du das als int speicherst, dann hast Du aber nicht nur 1, 2 oder 3 sondern ganz viel mehr Werte. Was ist, wenn der Wert 1768 ist? Das brauchst und willst Du nicht. Du willst ja eine konkrete Auswahl aus einer Aufzählung. Und Enumerations (kurz enum) sind Aufzählungen. Dann hast Du EINS, ZWEI, DREI als Auswahl. Dann kann Auswahl auch nur EINS, ZWEI oder DREI sein (oder nichts, null ist auch möglich, da es eine Referenz ist und damit auch die Nullreferenz ein möglicher Wert ist).

Das wären erst einmal so die wichtigsten zwei Dinge der Punkte denke ich mal.
 

Juelin

Bekanntes Mitglied
Danke Konrad,
12 ist die Fehlernummer (sieht man bei der DEklaration von Variable einfeldRet oder in der Methode FehlerAus()).
Natürlich kann man anstatt enum auch sprechende Werte einsetzen.
Ist mir aber zu viel Aufwand
Trotzdem Danke.
Gruß
Jürgen
 

Juelin

Bekanntes Mitglied
Hallo Konrad,
für Dich die Dateien des geänderten Programmes.
PS: Deine Listener Routine hat doch noch ein Problem:
Du kannst mit Kopie und Pase folgendes Datum eingeben 26.3.20.24
und Dein Programm merkt nix.
Habe ich aber auch abgefangen.
Gruß
Jürgen
 

Anhänge

  • Fenster.zip
    828 Bytes · Aufrufe: 0
  • App.java
    3,9 KB · Aufrufe: 0
  • FensterController.java
    79,1 KB · Aufrufe: 0

Juelin

Bekanntes Mitglied
Hallo Konrad,
nimm dies File FensterController.java.
Noch einen Bug entdeckt.
Gruß
Jürgen
 

Anhänge

  • FensterController.java
    79,3 KB · Aufrufe: 0

Juelin

Bekanntes Mitglied
Hallo Konrad.
alle guten Dinge sind 3.
Habe noch einen Bug gefunden.
nimm dies File FensterController.java.
Gruß
Jürgen
 

Anhänge

  • FensterController.java
    78 KB · Aufrufe: 0

KonradN

Super-Moderator
Mitarbeiter
Hier wäre meine Bitte, die Dateien nicht anzuhängen sondern den Code per Copy & Paste in Code Tags (also über den Knopf </> links oberhalb des Eingabebereiches) zu posten.

Dann könnte ich auch mit dem Handy schon einen Blick drauf werfen. Dieses erst herunterladen müssen ist vom Handling her nicht so toll.

Aber morgen schaue ich es mir dann auch gerne noch einmal am Computer an.
 

M.L.

Top Contributor
Längerfristig könnte auch ein Hosting-Dienst wie z.B. Github.com in Frage kommen (inkl. passender Eclipse-Plugins für Pull / Push-Requests): 1. damit hat man ein zusätzliches Backup 2. damit lässt sich Source Code leichter verteilen und ansehen 3. Änderungen lassen sich leichter zurückverfolgen
 

mihe7

Top Contributor
Längerfristig könnte auch ein Hosting-Dienst wie z.B. Github.com in Frage kommen (inkl. passender Eclipse-Plugins für Pull / Push-Requests): 1. damit hat man ein zusätzliches Backup 2. damit lässt sich Source Code leichter verteilen und ansehen 3. Änderungen lassen sich leichter zurückverfolgen
Und @KonradN könnte gleich schreibenden Zugriff bekommen 😀
 

Juelin

Bekanntes Mitglied
für Konrad.
Ausgabe Befehl: mvnw package
Code:
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< de.kneitzel:javafxapp >------------------------
[INFO] Building javafxapp 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:3.1.0:enforce (enforce-versions) @ javafxapp ---
[INFO]
[INFO] --- versions-maven-plugin:2.11.0:display-dependency-updates (default) @ javafxapp ---
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   org.jetbrains:annotations ........................... 24.0.1 -> 24.1.0
[INFO]   org.junit.jupiter:junit-jupiter-engine ............... 5.9.3 -> 5.10.2
[INFO]   org.junit.jupiter:junit-jupiter-params ............... 5.9.3 -> 5.10.2
[INFO]   org.mockito:mockito-core ............................. 5.3.1 -> 5.11.0
[INFO]   org.mockito:mockito-junit-jupiter .................... 5.3.1 -> 5.11.0
[INFO]   org.openjfx:javafx-controls ...................... 19.0.2.1 -> 23-ea+3
[INFO]   org.openjfx:javafx-fxml .......................... 19.0.2.1 -> 23-ea+3
[INFO]   org.openjfx:javafx-graphics ...................... 19.0.2.1 -> 23-ea+3
[INFO]   org.openjfx:javafx-web ........................... 19.0.2.1 -> 23-ea+3
[INFO]   org.projectlombok:lombok .......................... 1.18.26 -> 1.18.32
[INFO]
[INFO] The following dependencies in Plugin Dependencies have newer versions:
[INFO]   com.github.spotbugs:spotbugs .......................... 4.7.3 -> 4.8.3
[INFO]   net.sourceforge.pmd:pmd-core ......................... 6.55.0 -> 7.0.0
[INFO]   net.sourceforge.pmd:pmd-java ......................... 6.55.0 -> 7.0.0
[INFO]   net.sourceforge.pmd:pmd-javascript ................... 6.55.0 -> 7.0.0
[INFO]   net.sourceforge.pmd:pmd-jsp .......................... 6.55.0 -> 7.0.0
[INFO]
[INFO]
[INFO] --- versions-maven-plugin:2.11.0:display-plugin-updates (default) @ javafxapp ---
[INFO]
[INFO] The following plugin updates are available:
[INFO]   com.github.spotbugs:spotbugs-maven-plugin ...... 4.7.2.0 -> 4.8.3.1
[INFO]   maven-clean-plugin ................................. 3.2.0 -> 3.3.2
[INFO]   maven-compiler-plugin ............................ 3.10.1 -> 3.13.0
[INFO]   maven-dependency-plugin ............................ 3.3.0 -> 3.6.1
[INFO]   maven-deploy-plugin ............................. 3.0.0-M2 -> 3.1.1
[INFO]   maven-enforcer-plugin .............................. 3.1.0 -> 3.4.1
[INFO]   maven-install-plugin ............................ 3.0.0-M1 -> 3.1.1
[INFO]   maven-jar-plugin ................................... 3.2.2 -> 3.3.0
[INFO]   maven-pmd-plugin ................................. 3.16.0 -> 3.21.2
[INFO]   maven-resources-plugin ............................. 3.2.0 -> 3.3.1
[INFO]   maven-site-plugin ........................... 4.0.0-M1 -> 4.0.0-M13
[INFO]   maven-surefire-plugin ........................... 3.0.0-M6 -> 3.2.5
[INFO]   org.codehaus.mojo:versions-maven-plugin .......... 2.11.0 -> 2.16.2
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project requires minimum Maven version for build of: 3.6.3
[INFO] Plugins require minimum Maven version of: 3.6.3
[INFO]
[INFO] No plugins require a newer version of Maven than specified by the pom.
[INFO]
[INFO] Require Maven 3.8.6 to use the following plugin updates:
[INFO]   com.github.akman:jpackage-maven-plugin ............. 0.1.3 -> 0.1.5
[INFO]
[INFO]
[INFO] --- versions-maven-plugin:2.11.0:display-property-updates (default) @ javafxapp ---
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO] Major version changes allowed
[INFO]
[INFO] The following version properties are referencing the newest available version:
[INFO]   ${javafx.maven.plugin} ........................................ 0.0.8
[INFO] The following version property updates are available:
[INFO]   ${codehaus.version.plugin} ......................... 2.11.0 -> 2.16.2
[INFO]   ${javafx.version} ............................... 19.0.2.1 -> 23-ea+3
[INFO]   ${jetbrains.annotations.version} ................... 24.0.1 -> 24.1.0
[INFO]   ${junit.version} .................................... 5.9.3 -> 5.10.2
[INFO]   ${lombok.version} ................................ 1.18.26 -> 1.18.32
[INFO]   ${maven.clean.plugin} ................................ 3.2.0 -> 3.3.2
[INFO]   ${maven.compiler.plugin} ........................... 3.10.1 -> 3.13.0
[INFO]   ${maven.deploy.plugin} ............................ 3.0.0-M2 -> 3.1.1
[INFO]   ${maven.enforcer.plugin} ............................. 3.1.0 -> 3.4.1
[INFO]   ${maven.install.plugin} ........................... 3.0.0-M1 -> 3.1.1
[INFO]   ${maven.jar.plugin} .................................. 3.2.2 -> 3.3.0
[INFO]   ${maven.pmd.version} ............................... 3.16.0 -> 3.21.2
[INFO]   ${maven.resources.plugin} ............................ 3.2.0 -> 3.3.1
[INFO]   ${maven.site.plugin} .......................... 4.0.0-M1 -> 4.0.0-M13
[INFO]   ${maven.surfire.plugin} ........................... 3.0.0-M6 -> 3.2.5
[INFO]   ${mockito.version} .................................. 5.3.1 -> 5.11.0
[INFO]   ${pmd.version} ...................................... 6.55.0 -> 7.0.0
[INFO]   ${spotbugs.maven.plugin} ......................... 4.7.2.0 -> 4.8.3.1
[INFO]   ${spotbugs.version} .................................. 4.7.3 -> 4.8.3
[INFO]
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ javafxapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ javafxapp ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ javafxapp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] skip non existing resourceDirectory E:\java\Netbeans\JavaFXMavenApp-main\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:testCompile (default-testCompile) @ javafxapp ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M6:test (default-test) @ javafxapp ---
[INFO] No tests to run.
[INFO]
[INFO] --- spotbugs-maven-plugin:4.7.2.0:spotbugs (default) @ javafxapp ---
[INFO] Fork Value is true
     [java] The following errors occurred during analysis:
     [java]   Error scanning java/lang/Object for referenced classes
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/invoke/MethodHandles$Lookup
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for de/kneitzel/JavaFXApp
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/scene/Parent
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/invoke/CallSite
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/fxml/FXML
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/io/PrintStream
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for de/kneitzel/MainWindow
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/String
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/stage/Stage
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for com/sun/javafx/application/PlatformImpl
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/invoke/StringConcatFactory
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/application/HostServices
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/scene/control/Button
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/application/Preloader$PreloaderNotification
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/Throwable
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/Thread
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/Exception
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for com/sun/javafx/application/ParametersImpl
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/net/URL
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for de/kneitzel/Main
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/invoke/MethodType
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/application/Application
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/fxml/FXMLLoader
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for com/sun/javafx/application/LauncherImpl
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/application/Application$Parameters
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/Object
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/scene/Scene
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/invoke/MethodHandles
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for javafx/fxml/Initializable
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/RuntimeException
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/Class
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/System
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Unable to get XClass for java/lang/StackTraceElement
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/invoke/MethodHandles$Lookup
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/invoke/CallSite
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/io/PrintStream
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/String
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/invoke/StringConcatFactory
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/Throwable
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/Thread
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/Exception
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/net/URL
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/invoke/MethodType
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/Object
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:806)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:249)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/invoke/MethodHandles
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/RuntimeException
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/Class
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/System
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java]   Couldn't get class info for java/lang/StackTraceElement
     [java]     java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]       At org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]       At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]       At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]       At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]       At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]       At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]       At edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]       At edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]       At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]       At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]       At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
     [java] Exception in thread "main" java.lang.IllegalArgumentException: Unsupported class file major version 65
     [java]     at org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
     [java]     at org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
     [java]     at org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
     [java]     at edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
     [java]     at edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
     [java]     at edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
     [java]     at edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]     at edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
     [java]     at edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
     [java]     at edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:261)
     [java]     at edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:693)
     [java]     at edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList(AnalysisContext.java:975)
     [java]     at edu.umd.cs.findbugs.FindBugs2.setAppClassList(FindBugs2.java:909)
     [java]     at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:252)
     [java]     at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
     [java]     at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  15.276 s
[INFO] Finished at: 2024-03-27T13:17:19+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.spotbugs:spotbugs-maven-plugin:4.7.2.0:spotbugs (default) on project javafxapp: Execution default of goal com.github.spotbugs:spotbugs-maven-plugin:4.7.2.0:spotbugs failed: Java returned: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
 

KonradN

Super-Moderator
Mitarbeiter
Das Problem bearbeiten wir weiter im anderen Thread.

Aber hier kurz die kurze Zusammenfassung der Probleme:
a) spotbugs ist bereits aktualisiert auf GitHub, so dass Java 21 unterstützt wird.
b) PMD habe ich heraus genommen - das unterstützt immer noch kein Java 21 (mit aktuellem PMD Plugin, PMD 7.0.0 dürfte es schon unterstützen)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
K JavaFX Taschenrechner textField auf 10stellen begrenzen AWT, Swing, JavaFX & SWT 26
Z textField.getText = null AWT, Swing, JavaFX & SWT 15
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
L Swing Wert vom Textfield in Array List hinzufügen AWT, Swing, JavaFX & SWT 2
R Textfield lässt sich nicht positionieren AWT, Swing, JavaFX & SWT 1
B JavaFX ListView in Kombination mit TextField AWT, Swing, JavaFX & SWT 5
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX JFoenix TextField KeyEvent AWT, Swing, JavaFX & SWT 2
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
F JavaFX textField Ausgabe automatisch kopieren AWT, Swing, JavaFX & SWT 7
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
S JavaFX TextField auf Datentyp prüfen AWT, Swing, JavaFX & SWT 1
M JavaFX .setCellFactory () mit TextField AWT, Swing, JavaFX & SWT 4
L TextField Listener AWT, Swing, JavaFX & SWT 13
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1
C JavaFX mit .setText() befülltes Textfield liefert anschließend mit .getText() den ursprünglichen Wert? AWT, Swing, JavaFX & SWT 1
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
U Java FX Warten auf Textfield eingabe AWT, Swing, JavaFX & SWT 17
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
I JavaFX TextField auf Eingabe prüfen AWT, Swing, JavaFX & SWT 3
D JavaFX Nur Zahlen in Textfield AWT, Swing, JavaFX & SWT 4
D Textfield bei starten füllen. AWT, Swing, JavaFX & SWT 5
H Textfield bleibt im Hintergrund AWT, Swing, JavaFX & SWT 2
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
P LayoutManager TextField.setSize(); in einem FlowLayout AWT, Swing, JavaFX & SWT 3
T Internes Event-handling in TextField/JTextField AWT, Swing, JavaFX & SWT 2
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
1 Textfield: jede Buchstabe ein Bild AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
S LayoutManager TextField verschwindet / wird klein AWT, Swing, JavaFX & SWT 4
S Button in Textfield ziehen AWT, Swing, JavaFX & SWT 4
T Einen Variablen Wert in einem TextField AWT, Swing, JavaFX & SWT 4
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
G JavaFX TextField Eingabe formatieren/einschränken AWT, Swing, JavaFX & SWT 2
C Integer in ein Textfield schreiben. AWT, Swing, JavaFX & SWT 4
P TextField beim klicken von JButton speichern AWT, Swing, JavaFX & SWT 17
C Swing TextField auslesen AWT, Swing, JavaFX & SWT 21
MiMa Integer Zahl in Textfield ausgeben AWT, Swing, JavaFX & SWT 12
K Per Textfield Methode ausführen AWT, Swing, JavaFX & SWT 6
B JComboBox ans Textfield gelangen AWT, Swing, JavaFX & SWT 4
A Größe von Textfield bestimmen AWT, Swing, JavaFX & SWT 9
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
B AWT Mit TextField Zahlen einlesen lassen AWT, Swing, JavaFX & SWT 34
R Textfield auslesen auf Anforderung AWT, Swing, JavaFX & SWT 4
A Button und Textfield AWT, Swing, JavaFX & SWT 4
A TextField und Label AWT, Swing, JavaFX & SWT 8
H gui textfield AWT, Swing, JavaFX & SWT 5
A TextField: Textfeld teilweise editierbar AWT, Swing, JavaFX & SWT 2
R TextField auslesen & in Objekteigenschaften speichern AWT, Swing, JavaFX & SWT 22
E Button in TextField eibetten? AWT, Swing, JavaFX & SWT 4
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
W textfield zentriert AWT, Swing, JavaFX & SWT 2
N Swing Textfield listener AWT, Swing, JavaFX & SWT 2
H Zeich in einem TextField farblich markieren?! AWT, Swing, JavaFX & SWT 5
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
D Textfield auswerten AWT, Swing, JavaFX & SWT 4
M Swing InputVerifer auf TextField AWT, Swing, JavaFX & SWT 14
B setText() auf TextField mit Document AWT, Swing, JavaFX & SWT 2
G Problem mit Textfield AWT, Swing, JavaFX & SWT 2
G Den Inhalt von einem Textfield aktualisieren AWT, Swing, JavaFX & SWT 6
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G TextField im Hintergrund AWT, Swing, JavaFX & SWT 2
Z TextField aus ActionListener von JButton verändern AWT, Swing, JavaFX & SWT 10
O ComboBox hinter TextField? AWT, Swing, JavaFX & SWT 8
T Checkbox & Textfield AWT, Swing, JavaFX & SWT 5
M Beschränkung auf Nur-Zahleneingabe in Textfield klappt nicht AWT, Swing, JavaFX & SWT 3
N Textfield feste größe? AWT, Swing, JavaFX & SWT 1
M Datum Textfield AWT, Swing, JavaFX & SWT 6
S TextField fehler AWT, Swing, JavaFX & SWT 3
D Problem mit TextField AWT, Swing, JavaFX & SWT 22
C Textfield Background auf Standard zurücksetzen AWT, Swing, JavaFX & SWT 2
V keyListener soll textfield adden AWT, Swing, JavaFX & SWT 2
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
J JComboBox Eintrag soll TextField aktualisieren AWT, Swing, JavaFX & SWT 3
P Komponentenentwicklung mit TextField und Label AWT, Swing, JavaFX & SWT 10
K Problem mit TextField Strings AWT, Swing, JavaFX & SWT 2
S Textfield nummer merken AWT, Swing, JavaFX & SWT 3
M problem mit textfield-aktualisierung AWT, Swing, JavaFX & SWT 4
S Fehler beim Auslesen des Textes im textfield AWT, Swing, JavaFX & SWT 8
G Zugriff auf TextField geht nicht AWT, Swing, JavaFX & SWT 5
V Werte aus TextField in eine andere Klasse? AWT, Swing, JavaFX & SWT 2
M Textfield AWT, Swing, JavaFX & SWT 8
S "größeres Problem" mit JComboBox und Textfield AWT, Swing, JavaFX & SWT 35
P [TextField] cursor setzten AWT, Swing, JavaFX & SWT 2
S Eingabe einschränken bei TextField AWT, Swing, JavaFX & SWT 19
S AWT: Probleme mit TextField AWT, Swing, JavaFX & SWT 4
S TextField: Zeilenumbrüche AWT, Swing, JavaFX & SWT 3
E Zeilenumbruch in einem AWT TextField AWT, Swing, JavaFX & SWT 2
F requestFocus() auf ein TextField AWT, Swing, JavaFX & SWT 6
E ausgelesener String wird in Textfield nicht angezeigt AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben