Java: ComboBox und Array, Swing

  • Hallo erstmal,

    ich habe eine Klasse erstellt, in der ich eine ComboBox habe. In dieser Klasse habe ich ebenfalls ein Array erstellt:

    String [] array = new String [500];
    array [0] = "Netrunner";

    Die ComboBox ruft dieses Array auf und zeigt es mir an. In einer weiteren Klasse wird dem Array nach Betätigen eines Buttons ein weiteres Element hinzugefügt.
    Nun sollte mir eigentlich in der ComboBox dieses weitere Element angezeigt werden. Mein Problem ist jetzt: Wie wird mir dieses hinzugefügte Element in der comboBox angezeigt, des geht net.

    Schon mal Danke im Vorraus.

  • Mit addItem hinzufügen.

    Ansonsten: ComboBoxModel verwenden. Entweder selbst implementieren, oder DefaultComboBoxModel.

    Das mit dem Array funktioniert deswegen nicht, da die JComboBox wohl eine Kopie der Elemente anfertigt.

  • Hmm, als ich versucht habe es mit addItem zu gestalten ging dies auch nicht, da der Aufrauf in einer anderen Klasse ist. Wie ich mit Model arbeiten soll, weiß ich auch nicht so recht. Ich weiß zwar wie ich in der Klasse selbst, in der die Combobox ist, eine DefaultComboBoxModel mache, aber mehr auch nicht. Ich will ja aus Klasse A, nach drücken des Buttons, etwas der Combox, welche in Klasse B ist, hinzufügen.

  • So sieht es bisher aus:
    classB{
    protected JComboBox cbTurnier;
    cbTurnier = new JComboBox();cbTurnier.setModel(new DefaultComboBoxModel(new String[] {"Netrunner", "Lords of War", "Star Wars", "X-Wing", "Game of Thrones"}));
    cbTurnier.setBounds(219, 171, 136, 20);
    panelStartseite.add(cbTurnier);
    }

    classA{
    JButton btnAnmelden = new JButton("Anmelden");
    btnAnmelden.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    ClassB b = new Startseite();
    b.methodeB(); // Methode, in der die ComboBox steht
    }
    });

  • In deinem Code fehlt so einiges, weshalb es schwierig herauszulesen ist, was du eigentlich machen willst.
    Wenn ich den Code richtig interpretiere, dann willst du in methodeB() (Nach dem Klick auf Anmelden) eine Auswahl anbieten, welches Spiel man spielen will?
    Dann brauchst du doch gar nichts mehr zur Combobox hinzufügen?!? Oder willst du die Combobox zur Startseite hinzufügen, wenn der Button geklickt wurde?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!