Combobox 多个组合框

Combobox 多个组合框,combobox,Combobox,我有两个组合框,它们必须具有相同的值。我已经将它们设置为有两个不同的ComboBoxModels,但是当我在第一个组合框中选择某个选项时,第二个组合框中选择的是相同的选项 public class AddLineFrame extends JFrame { private ComboBoxModel model1; private ComboBoxModel model2; import java.awt.BorderLayout; public class Add

我有两个组合框,它们必须具有相同的值。我已经将它们设置为有两个不同的ComboBoxModels,但是当我在第一个组合框中选择某个选项时,第二个组合框中选择的是相同的选项

public class AddLineFrame extends JFrame {
    private ComboBoxModel model1;
    private ComboBoxModel model2;

    import java.awt.BorderLayout;


public class AddLineFrame extends JFrame {

    private JComboBox<String> comboBox1;
    private JComboBox<String> comboBox2;
    private ComboBoxModel model1;
    private ComboBoxModel model2;

    public AddLineFrame() {
        model1 = main.bPanel.getList();
        model2 = main.bPanel.getList();

        comboBox1 = new JComboBox();
        comboBox1.setModel(model1);
        comboBox1.setFont(new Font("Candara", Font.PLAIN, 14));
        comboBox1.setBounds(114, 33, 90, 25);
        panel_1.add(comboBox1);

        comboBox2 = new JComboBox(model2);
        comboBox1.setModel(model2);
        comboBox2.setFont(new Font("Candara", Font.PLAIN, 14));
        comboBox2.setBounds(114, 63, 90, 25);
        panel_1.add(comboBox2);
    }
}
公共类AddLineFrame扩展了JFrame{
模型1;
模型2;
导入java.awt.BorderLayout;
公共类AddLineFrame扩展了JFrame{
专用JComboxCombox1;
专用JComboxCombox2;
模型1;
模型2;
公共AddLineFrame(){
model1=main.bPanel.getList();
model2=main.bPanel.getList();
comboBox1=新的JComboBox();
comboBox1.setModel(model1);
comboBox1.setFont(新字体(“Candara”,Font.PLAIN,14));
组合框1.立根(114,33,90,25);
面板1.添加(组合框1);
Combox2=新的JCombox2(型号2);
comboBox1.setModel(model2);
comboBox2.setFont(新字体(“Candara”,Font.PLAIN,14));
组合框2.立根(114,63,90,25);
面板1.添加(组合框2);
}
}
我的模型就是这样制作的

公共类BusPanel扩展JPanel实现可运行{

ArrayList <Bus> busList = new ArrayList<Bus> ();
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>();


public BusPanel() {
    model.addElement(" ");
    setBorder(BorderFactory.createLineBorder(Color.black, 2));
    setPreferredSize(new Dimension(400,300));
}

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D)g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                        RenderingHints.VALUE_ANTIALIAS_ON);       
    for (Bus bus : busList) {
        bus.paintComponent(g);
    }
}

public void addBus(int id, double voltage, String title) { 
    Bus bus = new Bus(id, voltage, title);
    busList.add(bus);
    model.addElement(bus.title);
    revalidate();
    repaint();

}

public DefaultComboBoxModel<String> getList(){
    return model;
}
arraylistbuslist=newarraylist();
DefaultComboxModel=新的DefaultComboxModel();
公共巴士服务小组(){
模型.附录(“”);
setboorder(BorderFactory.createLineBorder(Color.black,2));
设置首选尺寸(新尺寸(400300));
}
公共组件(图形g){
超级组件(g);
图形2d g2=(图形2d)g;
g2.setRenderingHint(RenderingHints.KEY_抗锯齿,
RenderingHints.VALUE_ANTIALIAS_ON);
用于(总线:总线列表){
总线组件(g);
}
}
public void addBus(int-id,双电压,字符串标题){
总线=新总线(id、电压、标题);
总线列表。添加(总线);
型号补遗(总线名称);
重新验证();
重新油漆();
}
public DefaultComboBoxModel getList(){
收益模型;
}

}

Combox2=new JCombox2(model2);Combox1.setModel(model2);//这应该是Combox2 Combox2.setFont(新字体(“Candara”,Font.PLAIN,14));Combox2.setBounds(114,63,90,25);panel_1.add(Combox2);不做任何更改(