Auf Thema antworten

Ist ja auch klar, es gibt kein Integer::parseInt(Object). Übergib der Methode einen String. du solltest auch [icode]DefaultListModel<String>[/icode] entsprechend verwenden.

[code=java]

private boolean isInt;

// ...


add.addActionListener(e -> isInt = isNumeric(entryInput.getText()));


    private static boolean isNumeric(Object value) {

       try {

           Integer.parseInt(value);

           return true;

       }

       catch (NumberFormatException e){

           return  false;

}[/code]



Das isInt Feld sollte auch auf keinen Fall static sein.


Es ist auch ein unschöner Programmierstil eine Exception für sowas zu missbrauchen. Besser wären Ansätze wie z.B. mit Regex oder Character::isDigit(char)


[code=java]else {

           return;

       }[/code]

Total überflüssiger Code.


Außerdem rufst du die Add-Methode noch garnicht auf, ich hätte vermutet, dass beim ActionEvent add aufgerufen werden müsste


Dein Catch Block kann auch erreicht werden, wenn die eingegebene Zahl > Integer.MAX_VALUE ist. Auch aus diesem Grund wäre eine andere vorgehensweise für isNumeric zu empfehlen.



Oben