2 JComboBoxen miteinander verknüpfen

Status
Nicht offen für weitere Antworten.
S

Schmief

Gast
Hallo,

ich hab im Forum leider nix passendes finden können. Ich möchte gern zwei JComboBoxen, bei welcher die zweite ihre Werte entsprechend der Auswahl von der ersten ändert.

Beispielsweise hat die erste Combobox allgemeine Werte, wie Automarke: VW, BMW, .. und die zweite ComboBox soll dann jeweils die speziellen Modelle anzeigen.

Kann mir jemand vielleicht ein kurzes Beispiel zeigen?

Vielen Dank!
 

Miggel

Mitglied
Vll. hilft das:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TestCombo extends JFrame {

  private String[] jComboBox1Daten = {"Fiat", "Opel", "Peugeot"};
  private JComboBox jComboBox1 = new JComboBox(jComboBox1Daten);
  private String[] jComboBox2Daten = {"Ducato", "Stilo"};
  private String[] modelleFiat = {"Ducato","Stilo"};
  private String[] modellePeugeot = {"309","105"};
  private String[] modelleOpel = {"Astra","Kadett"};
  private JComboBox jComboBox2 = new JComboBox(jComboBox2Daten);

  public TestCombo() {
    setSize(300, 300);
    setLayout(null);

    jComboBox1.setBounds(48, 32, 145, 24);
    add(jComboBox1);
    jComboBox2.setBounds(48, 104, 145, 24);
    add(jComboBox2);
    
      jComboBox1.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent evt) {
        jComboBox1ActionPerformed(evt);
       }
      });

    setResizable(false);
    setVisible(true);
  }


  public void jComboBox1ActionPerformed(ActionEvent e){
     jComboBox2.removeAllItems();
     String model = String.valueOf(jComboBox1.getSelectedItem());
     String[] typ = null;
     if(model.compareTo("Fiat")==0){typ = modelleFiat;}
     if(model.compareTo("Opel")==0){typ = modelleOpel;}
     if(model.compareTo("Peugeot")==0){typ = modellePeugeot;}
     for(int i=0;i<typ.length;i++){
       jComboBox2.addItem(typ[i]);
     }
  }
  
  public static void main(String[] args) {
    new TestCombo();
  }
}
 

L-ectron-X

Gesperrter Benutzer
Das hier ist Mist.
Miggel hat gesagt.:
Code:
    String model = String.valueOf(jComboBox1.getSelectedItem()); 
     String[] typ = null; 
     if(model.compareTo("Fiat")==0){typ = modelleFiat;} 
     if(model.compareTo("Opel")==0){typ = modelleOpel;} 
     if(model.compareTo("Peugeot")==0){typ = modellePeugeot;} 
     for(int i=0;i<typ.length;i++){ 
       jComboBox2.addItem(typ[i]); 
     }
Einerseits durchläufst du alle if-Abzweige, auch wenn dies nicht mehr notwendig ist. (else if verwenden!)
Andererseits ist diese Art von Stringvergleich unnötig.

Entweder
Code:
if(box.getSelectedItem().equals("Fiat"))
//etc.

oder
Code:
if(box.getSelectedIndex() == 0) {
   System.out.println("Fiat");
}
else if(box.getSelectedIndex() == 1)  {
   System.out.println("Opel");
}
else if(box.getSelectedIndex() == 2) {
   System.out.println("Peugeot");
}

Du kannst das auch mit einer switch-Anweisung machen:
Code:
int index = box.getSelectedIndex();
switch(index) {
   case 0:
   System.out.println("Fiat");
   break;
               
   case 1:
   System.out.println("Opel");
   break;
               
   case 2:
   System.out.println("Peugeot");
}

Die for-Schleife kannst du dann auch ersetzen:
Code:
jComboBox2.setModel(new DefaultComboBoxModel(typ));
 

Marco13

Top Contributor
Oder
Code:
class AutoMarke
{
    String name;

    List<String> getModelle() { ... }

    ...

    public String toString()
    {
        return name;
    }
}
und objekte davon in die ComboBox legen. Dann spart man sich die Vergleiche oder Switches komplett sondern man holt sich einfach das selectedItem, und davon dann mit getModelle die Modelle, die man in die andere ComboBox packt... Und wenn eine neue Marke dazukommt, fügt man sie einfach in die ComboBox ein, und muss ansonsten nichts ändern. BTW: Diese Abfrage mit "getSelectedIndex" ist gefährlich: Wenn jemand die Reihenfolge der eingefügten Elemente ändert, gibt's Chaos!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JComboboxen in Abhängigkeiten füllen Java Basics - Anfänger-Themen 7
F Problem mit Auslesen mehrerer jComboBoxen Java Basics - Anfänger-Themen 6
S Problem mit jComboBoxen Java Basics - Anfänger-Themen 5
G Zwei JComboBoxen Java Basics - Anfänger-Themen 11
A Wie - 2 JComboBoxen "verdrahten" ? Java Basics - Anfänger-Themen 7
M [SOLVED]JComboBoxen dynamisch erstellen und abfragen Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
Shizmo Arrays miteinander vergleichen Java Basics - Anfänger-Themen 22
F OOP Klassen miteinander verbinden Java Basics - Anfänger-Themen 12
D String-Arrays miteinander verbinden Java Basics - Anfänger-Themen 5
M Methoden miteinander verbinden (Laufzeit) Java Basics - Anfänger-Themen 6
J arrays miteinander addieren Java Basics - Anfänger-Themen 11
B Mehrere Klassen miteinander kommunizieren lassen Java Basics - Anfänger-Themen 4
S Strings miteinander vergleichen Java Basics - Anfänger-Themen 5
C Werte aus zwei Objekten miteinander vergleichen Java Basics - Anfänger-Themen 3
H Bedingungen miteinander verknüpfen Java Basics - Anfänger-Themen 2
J Zwei Klassen miteinander "verlinken" Java Basics - Anfänger-Themen 9
N Arrays miteinander vergleichen Java Basics - Anfänger-Themen 11
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
B Datentypen Inhalt von Objekten miteinander vergleichen Java Basics - Anfänger-Themen 2
B Wie kommunizieren Klassen miteinander? (new ...) Java Basics - Anfänger-Themen 10
O Objekte miteinander vergleichen und sortieren Java Basics - Anfänger-Themen 10
F Klassen Klassen miteinander Verbinden Java Basics - Anfänger-Themen 19
T Erste Schritte Wie verheirate ich Eclipse und SVN richtig miteinander? Java Basics - Anfänger-Themen 2
K Listen miteinander verknüpfen Java Basics - Anfänger-Themen 4
J Zwei Dateien miteinander vergleichen Java Basics - Anfänger-Themen 11
F Datentypen 3 Strings lexikalisch miteinander verlgeichen Java Basics - Anfänger-Themen 10
S String Elemente bzw. Buchstaben miteinander vertauschen? Java Basics - Anfänger-Themen 6
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
R Datentypen Mehrere int Variablen miteinander vergleichen Java Basics - Anfänger-Themen 18
F 4 STrings in allen Kombinationen miteinander kombinieren Java Basics - Anfänger-Themen 2
T integer Werte einer ArrayList miteinander addieren Java Basics - Anfänger-Themen 5
G Objekte miteinander kommunizieren lassen Java Basics - Anfänger-Themen 3
S Strings miteinander vergleichen Java Basics - Anfänger-Themen 12
S Von der Tastatur eingelesene Strings miteinander vergleichen Java Basics - Anfänger-Themen 4
U Werte miteinander verknüpfen und sortieren Java Basics - Anfänger-Themen 20
J 2 miteinander heiraten Java Basics - Anfänger-Themen 3
D Inhalte von Stacks miteinander multiplizieren Java Basics - Anfänger-Themen 4
G progis miteinander kommunizieren Java Basics - Anfänger-Themen 5
S Zeiten miteinander vergleichen. Java Basics - Anfänger-Themen 27
S Zwei Frames miteinander verbinden Java Basics - Anfänger-Themen 5
J 2 Fenster miteinander verknüpfen Java Basics - Anfänger-Themen 6
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
T JRadioButton verknüpfen Java Basics - Anfänger-Themen 1
A Objekte verknüpfen Java Basics - Anfänger-Themen 2
G Klassen verknüpfen Java Basics - Anfänger-Themen 1
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
K Arrays verknüpfen Java Basics - Anfänger-Themen 52
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
M Erste Schritte Probleme beim Verknüpfen von Methoden Java Basics - Anfänger-Themen 15
J Methoden verknüpfen Java Basics - Anfänger-Themen 15
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
1 Zahlen mit Zahlen verknüpfen Java Basics - Anfänger-Themen 2
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
S Strings verknüpfen Java Basics - Anfänger-Themen 9
T Fragen zu Set / Relationen verknüpfen Java Basics - Anfänger-Themen 4
O Objekte verknüpfen? Java Basics - Anfänger-Themen 7
S Felder mit Variablen/Tabellen verknüpfen! Java Basics - Anfänger-Themen 3
J if Bedingungen verknüpfen Java Basics - Anfänger-Themen 8
J Variablen Rechenzeichen und Zahlen verknüpfen für einen Taschenrechner Java Basics - Anfänger-Themen 17
F Bedingungen mit Abfragen verknüpfen Java Basics - Anfänger-Themen 7
B GUI- Klasse mit Hauptklasse "verknüpfen"? Java Basics - Anfänger-Themen 13
L ArrayList Elemente verknüpfen Java Basics - Anfänger-Themen 2
K Klassen verknüpfen Java Basics - Anfänger-Themen 10
E klassen verknüpfen Java Basics - Anfänger-Themen 2
E Klassen verknüpfen Java Basics - Anfänger-Themen 9
sqsh jtable mit jlabels verknüpfen Java Basics - Anfänger-Themen 2
O Verknüpfen von Gui mit Klassen Java Basics - Anfänger-Themen 6
P "Enter"-Taste mit Button verknüpfen Java Basics - Anfänger-Themen 3
T 2D-Array mit GUI verknüpfen Java Basics - Anfänger-Themen 4
Screen Klassen verknüpfen, Swingobjekte mit Klassen verknüpfen Java Basics - Anfänger-Themen 13
S Programm mit Website verknüpfen Java Basics - Anfänger-Themen 3
Z Programmteile verknüpfen Java Basics - Anfänger-Themen 9
H Java aus Netbeans mit innoDB Datenbank verknüpfen. Java Basics - Anfänger-Themen 7
J 2 Objekte verknüpfen Java Basics - Anfänger-Themen 5
S Verknüpfen von Klassen Java Basics - Anfänger-Themen 2
D jMenubar mit Button verknüpfen Java Basics - Anfänger-Themen 3
G Button mit Internet verknüpfen? Java Basics - Anfänger-Themen 10
E Klassen verknüpfen Java Basics - Anfänger-Themen 11
G Hashset verknüpfen mit BufferedReader Java Basics - Anfänger-Themen 18
S Jar Datei mit javaw verknüpfen Java Basics - Anfänger-Themen 3
S Noch ungelöst ! Klasse JTable und Klasse Drucken verknüpfen. Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben