JavaFX ClassCastException bei ComboBox.getValue

P

Padde85

Mitglied
Hallo zusammen,

ich werde grade wieder mit einer in meinen Augen sinnlosen Exception genervt...

Hintergrund:
Ich habe eine editierbare ComboBox. Wenn ein User einen Wert einträgt und committed, soll dieser Wert in die Combo-Box übernommen werden.
Meine ComboBox erwartet ein Objekt vom Typ OfferTemplate, das lediglich einen key und eine Beschreibung enthält:

Java:
/*
* Container-Klasse für die verschiedenen gespeicherten Templates
*/
public class OfferTemplate {
    private int id;
    private String description;
   
    public OfferTemplate(int id, String description) {
    this.id = id;
    this.description = description;
    }
   
    public int getId() {
    return id;
    }
   
    public void setId(int id) {
    this.id = id;
    }
   
    public String getDescription() {
    return description;
    }
   
    public void setDescription(String description) {
    this.description = description;
    }
   
    public String toString() {
    return this.description;
    }
}

Problem:

Wenn ich nun im Eventhandler der Box versuche, mit ComboBox.getValue.getDescription den Wert auszulesen, bekomme ich folgende Meldung:
Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class sdg.main.OfferTemplate (java.lang.String is in module java.base of loader 'bootstrap'; sdg.main.OfferTemplate is in unnamed module of loader 'app')
at sdg.main.MainController.onTemplateCreate(MainController.java:115)
at sdg.main.MainController.onTemplateSelected(MainController.java:122)
... 67 more

Frage:
1. Warum will er hier von String nach OfferTemplate casten? Das müsste doch, wenn überhaupt, andersrum sein oder?
2. Warum bekomme ich diese Exception überhaupt? Ich habe keine module-info-Datei und verwende die Container-Klasse auch an anderen Stellen, wo es nicht knallt. Und er fällt auch definitiv bei der Methode auf die Nase. Wenn ich ein neues Objekt an der gleichen Stelle erzeuge vom gleichen Typ, macht der das ohne Motzen. Wenn ich mir aber über die Methode den eingegebenen Wert geben lassen möchte, schmiert der ab

Danke und Gruß
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Wenn der Nutzer die ComboBox editiert, kann er nur einen String eingeben, das würde dann über den passenden Converter konvertiert werden.
Wenn der Converter fehlt oder nicht korrekt funktioniert (Hast Du einen gesetzt, wenn Ja welchen?), bleibt das ein String.

Und das ist dann auch der Grund für dieses:
1. Warum will er hier von String nach OfferTemplate casten? [...]
2. Warum bekomme ich diese Exception überhaupt? [...]
Beim Abfragen erwartet dein Code aber ein OfferTemplate, bekommt aber aus der ComboBox einen String, daher die Exception.
 
P

Padde85

Mitglied
Ahhhh, das habe ich natürlich nicht.
Hast du zufällig ein Beispiel für so einen Konverter? :)
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
In der Doku zu StringConverter sollte einer sein, das Interface sollte aber auch ohne Beispiel verständlich sind :)
 
P

Padde85

Mitglied
Alles klar, habe es mir angeschaut und ist tatsächlich selbsterklärend :)

Danke dir für den schnelle Hinweis auf das Problem
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D ClassCastException / LayoutComparator.compare AWT, Swing, JavaFX & SWT 2
S ClassCastException bei IndexedGeometryArray AWT, Swing, JavaFX & SWT 14
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
G ClassCastException bei JTable AWT, Swing, JavaFX & SWT 12
M ClassCastException bei Methode AWT, Swing, JavaFX & SWT 4
G ClassCastException AWT, Swing, JavaFX & SWT 3
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
Doppel JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 1
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
L JavaFX Wiederspenstige ComboBox AWT, Swing, JavaFX & SWT 0
P Combobox und Enum AWT, Swing, JavaFX & SWT 3
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
offi Combobox in TableCell AWT, Swing, JavaFX & SWT 1
D Javafx Combobox Abfrage aus mysql AWT, Swing, JavaFX & SWT 8
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
MrSnake ComboBox-Einträge werden unsichtbar AWT, Swing, JavaFX & SWT 0
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
M JavaFX Combobox bindBidirectional AWT, Swing, JavaFX & SWT 4
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
M JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
J ComboBox als Filter benutzen AWT, Swing, JavaFX & SWT 1
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
U Combobox mit individuellen Texten AWT, Swing, JavaFX & SWT 5
M JavaFX Combobox - Item Auswahl mit Tasten AWT, Swing, JavaFX & SWT 8
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
C Beschriftungen von Tabellenspalten mit Combobox aussuchen AWT, Swing, JavaFX & SWT 2
G JavaFX ComboBox .getItems().add() Problem AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
W Swing Combobox Abhängigkeit AWT, Swing, JavaFX & SWT 1
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
B Erstellen eigener Combobox ("CellFactory") AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
J Swing Drive-ComboBox AWT, Swing, JavaFX & SWT 7
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
L Swing Model für ComboBox AWT, Swing, JavaFX & SWT 14
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
T Java Combobox Problem AWT, Swing, JavaFX & SWT 3
C SWT Combobox mit Textdatei füllen AWT, Swing, JavaFX & SWT 2
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
R Datenbanktabellen in Combobox AWT, Swing, JavaFX & SWT 3
C Combobox bei Tabellenänderung mit aktualisieren AWT, Swing, JavaFX & SWT 11
1 CellEditor mit ComboBox richtig beenden AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
E Swing CellEditor mit Combobox durch Tastatureingabe editieren?! AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
F Wert zu Eintrag in ComboBox speichern?! AWT, Swing, JavaFX & SWT 7
P Swing ComboBox(en) in JTable auslesen und ausgeben AWT, Swing, JavaFX & SWT 11
M Index von Combobox AWT, Swing, JavaFX & SWT 20
L ComboBox in Action AWT, Swing, JavaFX & SWT 4
D ComboBox & CellListRenderer AWT, Swing, JavaFX & SWT 6
D ComboBox-Model mit Observer AWT, Swing, JavaFX & SWT 3
B Taschenrechner mit ComboBox AWT, Swing, JavaFX & SWT 7
T ComboBox auslesen AWT, Swing, JavaFX & SWT 11
P Combobox liesst falschen Wert AWT, Swing, JavaFX & SWT 10
C Combobox im JFrame aus Datenbank befüllen AWT, Swing, JavaFX & SWT 6
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
M Swing ComboBox ein SelectedItem übergeben/anzeigen AWT, Swing, JavaFX & SWT 7
J Werte aus Combobox speichern AWT, Swing, JavaFX & SWT 3
J Combobox als Filterkriterium (Gruppierung) in JTable AWT, Swing, JavaFX & SWT 7
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
M SWT Wie Textfeld hinzufügen, nach Auswahl von einem bestimmten Combobox-item? AWT, Swing, JavaFX & SWT 3
M SWT ComboBox mit DB-Inhalten Designfrage AWT, Swing, JavaFX & SWT 5
W MouseListener im editable ComboBox AWT, Swing, JavaFX & SWT 14
W Combobox mit eingabefeld AWT, Swing, JavaFX & SWT 7
T Editable ComboBox / kein Weiterspringen AWT, Swing, JavaFX & SWT 12
M Combobox in JTable AWT, Swing, JavaFX & SWT 4
S Swing ComboBox aus Array befüllen AWT, Swing, JavaFX & SWT 2
K Per ComboBox Dateien einlesen AWT, Swing, JavaFX & SWT 23
0 Hintergundfarbe von editierbarer ComboBox ändern AWT, Swing, JavaFX & SWT 2
M Frage zu ComboBox AWT, Swing, JavaFX & SWT 7
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
A NetBeans und ComboBox AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Combobox zur Farbwahl kollidiert mit NimbusLookAndFeel AWT, Swing, JavaFX & SWT 7
D ComboBox(Model) mit dummyItem AWT, Swing, JavaFX & SWT 10
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
GilbertGrape nochmal editierbare Combobox AWT, Swing, JavaFX & SWT 3
GilbertGrape JTable mit Combobox-Editierung schon nach einem Klick AWT, Swing, JavaFX & SWT 7
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G ComboBox wird nicht angezeigt beim anhängen an eine Gruppe AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben