Vector -> String JComboBox

superping

Aktives Mitglied
Hallöchen zusammen!

Folgendes Problem:

"getSelectedItem()" macht irgendwie Probleme.

Möchte eine 2. JComboBox abhängig von der Auswahl der ersten JComboBox befüllen.

Hab in einem Listener:

Java:
cBox.addItemListener(new ItemListener()  // cBox ist die 2. ComboBox die befüllt werden soll
                        {
                        public void itemStateChanged(ItemEvent e)
                        {
                            String kunde = (String)cBox.getSelectedItem();
                            System.out.println(kunde);
                            lFrf.setText(kunde);
                            
                           
                        }
                        }

Da passiert leider nix! Dieser Listener ist in einem anderen geschachtelt.

Es kommt folgende Fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Vector cannot be cast to java.lang.String

Find ich merkwürdig, dass man einen Vector nicht als string casten kann. Hab den Beispielcode aus dem Netz zusammengebastelt.

Dankbar für jede Hilfe!

Gruss
 

L-ectron-X

Gesperrter Benutzer
An und für sich ist dein Code
Java:
String kunde = (String)cBox.getSelectedItem();[/Java]
richtig.

Das gilt aber nur, wenn du wirklich einfache Objekte in der JComboBox hast, die sich zu String casten lassen. Ein Vector kann nicht zu einem String gecastet werden, weil er eine Liste von Objekten ist.
Ich nehme daher an, dass du einen Fehler beim Verknüpfen des Models mit deiner JComboBox hast.

Was wird denn ausgegeben, wenn du schreibst:
[code=Java]System.out.println(cBox.getSelectedItem());
 

superping

Aktives Mitglied
Hiho!

Aalso...

Bei

System.out.println(cBox.getSelectedItem());

wird der Vector korrekt ausgegeben, allerdings in eckigen Klammern.

[900003] (wurde aus DB befüllt). Ist in der DB ein TEXT Feld.

Leider wird das ganze 2mal ausgegeben. Scheint irgendwie doppelt durchzulaufen.

Eine Idee?

Danke schonmal...
 

superping

Aktives Mitglied
Ok, das mit dem doppelten bekomm ich dann wohl weg.

Nur wie kann ich die Ausgabe [90003] verwerten? In was muss ich das umcasten?

*verzweifel*

Brauch den Wert um ihn in einer weiteren DB Abfrage nutzen zu können...
 

Ebenius

Top Contributor
Ohje. "umcasten" klingt sehr gefährlich. :-D

Füge das mal ein: [java=5]final Object o = cBox.getSelectedItem();
System.out.printf("Item is: %s%n", o == null ? null : o.getClass());[/code]
... und poste mal die Ausgabe.

Ebenius
 

superping

Aktives Mitglied
@Ebenius

Hier die Ausgabe: Item is: class java.util.Vector

...also immer noch Vector

@L-ectron

Die Werte werden folgendermassen in die ComboBox geschrieben:

Java:
Query db = new Query();
ResultSet rs = db.ReturnQuery("select * from firma where frachtf = 1");

vT2 = new Vector();

try
                        {


                        while (rs.next()) {


                                                vFahr = new Vector();
                                                
                                                vFahr.add(rs.getString("firma"));
                        
                                                vT2.add(vFahr);
                                               }
                        }

                    catch(SQLException esq)
                    {
                    System.err.println(esq.getMessage());
                    }

                    final JComboBox cBox = new JComboBox(vT2);
 

Ebenius

Top Contributor
Ich wollte nur sicher gehen... :)

Okay, Du hast also Vector-Objekte in der Liste. Die kann man natürlich nicht nach String casten. Was ein Vector ist, weißt Du? Willst Du vielleicht an die Elemente des Vektors? Dann musst das Item erst nach Vector (oder eines der Interfaces die Vector implementiert) casten und dann die Elemente abgreifen. An welcher Stelle hängt's denn da?

Ebenius
 

L-ectron-X

Gesperrter Benutzer
Also, das, was ich oben schon vermutet habe...

Die Frage ist ja auch, ob es hier sinnvoll ist, einen Vector in einen Vector zu stecken. Lieber passende Objekte erzeugen, die mit den Daten befüllen und dann in den Vector oder ein passendes Model für die JComboBox stecken.
 
Zuletzt bearbeitet:

superping

Aktives Mitglied
Ähhh... Na ja, wie auch immer... Ich muss es zwar nicht verstehen, aber wenn ich jetzt meine SQL Query so formuliere

("select * from fahrzeuge where fzfirma = ' " + (cBox.getSelectedItem()) + " ' ");

wird der richtige Eintrag ausgegeben.

Offensichtlich (sry jungs!) musste ich das gar nicht rumcastdingsen-wie -auch-immer. :(

Mit einem Vector in einem Vector bin ich auch nicht wirklich glücklich - hab auch gelesen, dass der depreciated ist und auch zu langsam.

Was ist in so einem Fall sinnvoll? An einem Array nervt mich, dass man beim erzeugen die Grösse angeben muss. Da sowas ja aus der DB befüllt wird ist die Grösse unterschiedlich.

Muss man bei einem Array vorher die Grösse des ResultSets holen und dann erst initialisieren?

Ein Rätsel...

Danke aber schonmal vielmals für eure Hilfe!
 

Ebenius

Top Contributor
Naja - was LeX eigentlich meint, ist, dass man doch nicht irgendwelche inhaltlich unbekannte Dinge in eine ComboBox kloppt und dann irgendwas damit machen will, ohne zu wissen, was das eigentlich alles ist. Wenn Du nicht weißt, was der Inhalt Deiner Vektoren in Vektoren ist und welchen Teil Du für Dein SELECT-Statement benötigst, wie soll Dir dann hier irgendwer helfen.

Wieso definierst Du Dir nicht eine gute Datenstruktur der Daten die da ausgewählt werden sollen. Dann versuchst Du auch nicht mehr Äpfel zu Birnen zu casten.

Ebenius
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
W Vector mit String[] auslesen Java Basics - Anfänger-Themen 4
G string Array in eine Vector packen Java Basics - Anfänger-Themen 10
P String to Vector Java Basics - Anfänger-Themen 10
M Vector in ein String-Array schreiben Java Basics - Anfänger-Themen 2
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7
K Vector Java Basics - Anfänger-Themen 3
K Vector Java Basics - Anfänger-Themen 10
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
T Object aus Vector übergeben Java Basics - Anfänger-Themen 2
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
L Vector einem Array hinzufügen Java Basics - Anfänger-Themen 14
P Vector mit double Java Basics - Anfänger-Themen 3
P Vector Elemente auslesen Java Basics - Anfänger-Themen 9
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
E Vector Fehler bei allen Methoden von Vector Java Basics - Anfänger-Themen 2
K Vector zu Array machen Java Basics - Anfänger-Themen 10
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
L Multidimensional Vector - Recordset Java Basics - Anfänger-Themen 5
K Objektklasse mit leerem Vector füllen Java Basics - Anfänger-Themen 6
K Vector wird überschrieben Java Basics - Anfänger-Themen 7
G Vector Strijng parsen Java Basics - Anfänger-Themen 6
K vector cannot be resolved Java Basics - Anfänger-Themen 3
G Zeichenkette suchen in Vector-Klasse Java Basics - Anfänger-Themen 11
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
M ObjectInputStream, Object und Vector<Object> Java Basics - Anfänger-Themen 4
G Vector, equal & Casts Java Basics - Anfänger-Themen 5
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Vector Java Basics - Anfänger-Themen 7
S Problem mit Vector Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G 2D vector zugriff auf elementinterne elemente wie Java Basics - Anfänger-Themen 3
G vector in neuem vector sortieren Java Basics - Anfänger-Themen 3
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben