JComboBox auslesen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi zusammen,

ich habe eine JComboBox auf meiner GUI, wo man eine Kategorie auswählen kann (KFZ, Essen, ...). Ich benötige den Wert der aktuell ausgewählt ist um diesen dann per Button + Funktion weiterzureichen. Ich hab also einen ItemListener implementiert. Versuchsweise sollte er mir einfach mal immer die aktuelle Auswahl per "println" ausgeben. Macht er auch...aber er gibt es immmer 4MAL aus...Daraus werde ich nicht schlau. Wisst ihr da was?

Code:
    il = new ItemListener()
     {
       public void itemStateChanged( ItemEvent e )
       {
          JComboBox selectedChoice = (JComboBox)e.getSource();
          System.out.println(selectedChoice.getSelectedItem());
          
       }
     };

//-------------------------------------------------------------------------------

    String lang[] = {"...", "Lebensmittel", "KFZ", "Wohnen", "Bildung", "Freizeit","Haushaltswaren", "Kleidung", "Verdienst",    "Ende"};

    JComboBox katsel = new JComboBox();
    katsel.setSize(375,25);
    katsel.setLocation(50,122);
    katsel.setBackground(Color.WHITE);
    hlabel.add(katsel);
    katsel.addItemListener(il);


    for ( int i = 0; i < lang.length; i++ )
    katsel.addItem( lang[i] );
    katsel.addItemListener(il);
 
B

bygones

Gast
du fügst deiner box den listener 2x hinzu

der listener reagiert für jede Selektion 2x, da ein Item selektiert, das andere deselektiert wird

---> 4x ausgabe

1. nur einmal den listener hinzufügen
2. in der Listener methoden nachfragen welchen Event du haben willst (ItemEvent.SELECTED z.b.)
 

L-ectron-X

Gesperrter Benutzer
Das ItemEvent wird einmal beim deselektieren, also der Abwahl, des alten Objektes und ein weiteres Mal beim selektieren des neuen Objektes gefeuert. Da du aber den Listener zweimal registriert hast, wird das Event eben 4 mal gefeuert. Es genügt also einmal in der itemStateChanged()-Methode anzugeben:
Code:
if(e.getStateChange() == ItemEvent.SELECTED) {
  //ein neues Objekt wurde selektiert
}

Edit: Och nö...
 
G

Guest

Gast
Noch ne Kleinigkeit:

Code:
    il = new ItemListener()
     {
       public void itemStateChanged( ItemEvent e )
       {
         JComboBox selectedChoice = (JComboBox)e.getSource();

          if(e.getStateChange() == ItemEvent.SELECTED) {
          System.out.println(?????????);
          }
          
       }
     };



Welche variable/methode muss denn bei ??????? rein, damit er mir die aktuelle Auswahl angibt?

1000 DANK!
 

L-ectron-X

Gesperrter Benutzer
Wenn dein Objekt die toString()-Methode überschreibt, kann da stehen:
Code:
System.out.println(selectedChoice.getSelectedItem());
 
G

Guest

Gast
Tut soweit :)

Hab gerade versucht das "Ergebnis" einer String Variable zuzuordnen. Von welchem Datentyp muss die sein? Merci!

Error:
eingabefenster.java:97: incompatible types
found : java.lang.Object
required: java.lang.String
einoderaus=selectedChoice.getSelectedItem();
^
1 error
 

L-ectron-X

Gesperrter Benutzer
Da die getSelectedItem()-Methode immer nur eine Referenz auf ein Object liefert, musst du das Ergebnis vor der Zuweisung noch casten. Das funktioniert aber nur, wenn auch wirklich ein String im Objekt "drinsteckt".
Code:
String einoderaus = (String)selectedChoice.getSelectedItem();
 
G

Guest

Gast
Das Casten klappt. Ich kann die Variable per "println" direkt wieder ausgeben. Nun ist es aber so, dass ich die Variable weiter unten in einer Funktion verwenden will. Doch dort scheint der Inhalt nicht bekannt zu sein. Es kommt zwar kein Compilerfehler, aber er gibt NULL aus... *Irgendwo hakts da noch*


Code:
 public static String einoderaus;






    il = new ItemListener()
     {
       public void itemStateChanged( ItemEvent e )
       {
         JComboBox selectedChoice = (JComboBox)e.getSource();

          if(e.getStateChange() == ItemEvent.SELECTED) {
          String einoderaus = (String)selectedChoice.getSelectedItem();

          }
          
       }
     };






    public String geteinoderaus()
    {
    return einoderaus;
    }
 
B

bygones

Gast
Code:
String einoderaus = (String)selectedChoice.getSelectedItem();
iher definierst du dir eine lokale Variable, die nichts mit der Klassenvariable einoderaus zu tun hat, ergo ist in der anderen Methode kein wert gesetzt.

also einfach
Code:
einoderaus = (String)selectedChoice.getSelectedItem();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JComboBox ist editable und eingegebenen Text auslesen bei focusLost() Java Basics - Anfänger-Themen 1
T Auslesen mehrerer jComboBox (-en) Java Basics - Anfänger-Themen 4
S Variablen auslesen beim JCombobox Java Basics - Anfänger-Themen 0
J JComboBox - Auswahl auslesen Java Basics - Anfänger-Themen 2
F Werte aus JComboBox auslesen und Zahlen zuordnen Java Basics - Anfänger-Themen 5
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
S Wert aus JComboBox auslesen und weiter verwenden Java Basics - Anfänger-Themen 2
G Editierbare JComboBox auf KeyEvents reagieren Java Basics - Anfänger-Themen 29
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
M JComboBox ersten Eintrag leerlassen bzw. Platzhalter Java Basics - Anfänger-Themen 1
Tommy135 Klassen jComboBox macht nicht was sie soll Java Basics - Anfänger-Themen 4
S ArrayListe in einer JComboBox anzeigen Java Basics - Anfänger-Themen 10
H JComboBox wird nicht angezeigt Java Basics - Anfänger-Themen 3
M JComboBox feste double Werte zu ordnen Java Basics - Anfänger-Themen 8
T Einträge in jComboBox aus Liste übernehmen Java Basics - Anfänger-Themen 1
H JCombobox Java Basics - Anfänger-Themen 1
D JComboBox duplizieren Java Basics - Anfänger-Themen 2
T jComboBox Java Basics - Anfänger-Themen 9
GadgetSofa jComboBox mit dem Button verbinden. Aber wie?? Java Basics - Anfänger-Themen 4
A GUI Absturz nach 3x benutzen einer JComboBox Java Basics - Anfänger-Themen 11
S Erste Schritte JComboBox Java Basics - Anfänger-Themen 1
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
S JComboBox automatisch füllen Java Basics - Anfänger-Themen 3
C JComboBox "Hilfstext" anzeigen Java Basics - Anfänger-Themen 11
T Datentypen Jcombobox Array Java Basics - Anfänger-Themen 1
J JComboBox in andere Klasse Java Basics - Anfänger-Themen 2
K JCombobox Eclipse Java Basics - Anfänger-Themen 7
D JComboBox erzeugen Java Basics - Anfänger-Themen 1
T JComboBox Java Basics - Anfänger-Themen 3
B ArrayLists in JCombobox Java Basics - Anfänger-Themen 10
M JComboBox und ItemListener/ItemEvent Problem Java Basics - Anfänger-Themen 3
M JComboBox Auswahl Java Basics - Anfänger-Themen 10
N Compiler-Fehler JComboBox DefaultListCellRenderer Java Basics - Anfänger-Themen 2
J jcombobox.getSelectedItem - nullpointerexception Java Basics - Anfänger-Themen 3
C JComboBox setSelectedItem(Object) Problem Java Basics - Anfänger-Themen 5
M JComboBox Obergrenzen/Untergrenze festlegen? Java Basics - Anfänger-Themen 5
B JComboBox(editable) Java Basics - Anfänger-Themen 6
K JComboBox hat volle Höhe uber das gesamte JPane, warum? Java Basics - Anfänger-Themen 2
S JComboBox mit ArrayList füllen Java Basics - Anfänger-Themen 7
C Ausgewähltes Element einer JCombobox in JTextField Java Basics - Anfänger-Themen 3
S JComboBox füllen Java Basics - Anfänger-Themen 9
C JComboBox Java Basics - Anfänger-Themen 9
R Auf auswahl in ner JComboBox reagieren Java Basics - Anfänger-Themen 3
T Frage zu JComboBox Java Basics - Anfänger-Themen 6
G JComboBox wird nicht gezeichnet Java Basics - Anfänger-Themen 3
N JComboBox mit Dateinamen befüllen Java Basics - Anfänger-Themen 7
M JComboBox => Item String => Color Java Basics - Anfänger-Themen 2
StrikeTom Editable JComboBox + enter Wie??? Java Basics - Anfänger-Themen 3
J JComboBox Listener Java Basics - Anfänger-Themen 6
S JComboBox Platzhalter Java Basics - Anfänger-Themen 7
J jComboBox auf default setzen wie? Java Basics - Anfänger-Themen 3
J daten über jComboBox ausgeben wie? Java Basics - Anfänger-Themen 2
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
E JComboBox Java Basics - Anfänger-Themen 4
J jComboBox.getSelectedIndex() Java Basics - Anfänger-Themen 8
J Funktion Auslösen über JComboBox Java Basics - Anfänger-Themen 2
T JComboBox klappt nur ein- bis zweimal auf Java Basics - Anfänger-Themen 30
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
Developer_X JComboBox getSelectedFilè??? Java Basics - Anfänger-Themen 4
T Daten eines Ordners in JCombobox anzeigen Java Basics - Anfänger-Themen 5
M Einträge in JComboBox farblich hinterlegen? Java Basics - Anfänger-Themen 2
6 Dritte JComboBox in Abhaengigkeit von zwei vorherigen Java Basics - Anfänger-Themen 4
G 2. JComboBox in Abhängigkeit der 1. JCombobox füllen Java Basics - Anfänger-Themen 2
S Problem mit JComboBox Java Basics - Anfänger-Themen 9
H jcombobox mit nur einem Item Java Basics - Anfänger-Themen 7
G Inhalt einer JComboBox wechseln Java Basics - Anfänger-Themen 5
G Problem mit JComboBox Java Basics - Anfänger-Themen 15
G JComboBox Strukturiert anzeigen Java Basics - Anfänger-Themen 6
Schandro Hotkeys bei JComboBox abschalten Java Basics - Anfänger-Themen 3
G JComboBox soll beim Öffnen eine andere JCB öffnen Java Basics - Anfänger-Themen 2
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
G JComboBox - BasicComboPopup Java Basics - Anfänger-Themen 4
S Inhalt der JComboBox vergrößtert die JCB ? Java Basics - Anfänger-Themen 2
B Werte aus einer JCombobox in eine Liste Java Basics - Anfänger-Themen 16
mwildam JComboBox FocusGained feuert nicht wenn editable Java Basics - Anfänger-Themen 4
S Jcombobox und 2maliges anzeigen wegen ItemStateChanged? Java Basics - Anfänger-Themen 3
W setModel feuert ActionEvent bei JComboBox Java Basics - Anfänger-Themen 2
G Frage zu JComboBox Java Basics - Anfänger-Themen 2
W Actionlistener oder Itemlistener bei JCombobox ? Java Basics - Anfänger-Themen 4
G JComboBox Java Basics - Anfänger-Themen 7
G JComboBox macht Probleme Java Basics - Anfänger-Themen 7
G JComboBox alphabetisch sortieren Java Basics - Anfänger-Themen 2
D Locale zur Laufzeit über JComboBox laden? Java Basics - Anfänger-Themen 17
G JComboBox um eine Methode erweitern Java Basics - Anfänger-Themen 2
G jcombobox deaktivieren Java Basics - Anfänger-Themen 4
M Werte aus Jcombobox sollten als int-Werte zurück gegeben . Java Basics - Anfänger-Themen 7
D Items in JComboBox überprüfen Java Basics - Anfänger-Themen 3
G JComboBox zweckentfremden ? Java Basics - Anfänger-Themen 5
N JCombobox Pfeil nach unten bild auf linke seite, geht das? Java Basics - Anfänger-Themen 8
T JComboBox Problem Java Basics - Anfänger-Themen 4
D JComboBox titel Java Basics - Anfänger-Themen 16
M füllen JComboBox funktioniert nicht Java Basics - Anfänger-Themen 11
J JCombobox Item auswählen Java Basics - Anfänger-Themen 13
A Text einer JComboBox während der Laufzeit ändern ? Java Basics - Anfänger-Themen 4
dercheffe 3x jcombobox nacheinander füllen Java Basics - Anfänger-Themen 6
J Inhalt der JComboBox variable Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben