Hallo
folgende Ausgangs Situation, ich habe ein Object (im Beispiel heisst es "combos") was ein eigenes Model und eine eigene JComboBox besitzt.
in einem JPanel wird nun eine ArrayList von "combos" objecten angelegt diese bekommen alle das gleiche Model (setzen ihr eigenes Model, aber mit diesem gleich).
in dem JPanel wird zusätzlich gesagt das in jeder JComboBox der ArrayList aus Combos ein anderes Element gesetzt werden soll (per setSelectedElement()).
komischerweise wird aber bei allen das gleiche element gesetzt warum !?
hier mein Beispiel.
folgende Ausgangs Situation, ich habe ein Object (im Beispiel heisst es "combos") was ein eigenes Model und eine eigene JComboBox besitzt.
in einem JPanel wird nun eine ArrayList von "combos" objecten angelegt diese bekommen alle das gleiche Model (setzen ihr eigenes Model, aber mit diesem gleich).
in dem JPanel wird zusätzlich gesagt das in jeder JComboBox der ArrayList aus Combos ein anderes Element gesetzt werden soll (per setSelectedElement()).
komischerweise wird aber bei allen das gleiche element gesetzt warum !?
hier mein Beispiel.
Java:
package justforme;
import java.util.ArrayList;
import javax.swing.*;
public class KB extends JFrame {
public KB(){
int[]array=new int[5];
for(int i=0;i<array.length;i++){
array[i]=i;
}
DefaultComboBoxModel test=new DefaultComboBoxModel();
for(int i=0;i<5;i++){
test.addElement(i);
}
panel panel=new panel(array,test);
setContentPane(panel);
pack();
setVisible(true);
}
public class panel extends JPanel{
public panel(int[]a,DefaultComboBoxModel b){
ArrayList<Combos> Combos=new ArrayList();
//erstellen der neuen Combos
for(int i=0;i<a.length;i++){
Combos.add(new Combos(a[i],b));
}
//hinzufügen der Combos und setzen des selected Elements
for(int i=0;i<Combos.size();i++){
this.add(Combos.get(i).Box);
Combos.get(i).Box.setSelectedIndex(i);
}
}
}
public class Combos{
//Jede Combo hat jetzt ihr eigenes Model
DefaultComboBoxModel InternModel;
JComboBox Box;
public Combos(int i,DefaultComboBoxModel Model){
InternModel=Model;
Box=new JComboBox(InternModel);
}
}
public static void main (String args[]){
new KB();
}
}
Zuletzt bearbeitet von einem Moderator: