Combobox 多个组合框
我有两个组合框,它们必须具有相同的值。我已经将它们设置为有两个不同的ComboBoxModels,但是当我在第一个组合框中选择某个选项时,第二个组合框中选择的是相同的选项Combobox 多个组合框,combobox,Combobox,我有两个组合框,它们必须具有相同的值。我已经将它们设置为有两个不同的ComboBoxModels,但是当我在第一个组合框中选择某个选项时,第二个组合框中选择的是相同的选项 public class AddLineFrame extends JFrame { private ComboBoxModel model1; private ComboBoxModel model2; import java.awt.BorderLayout; public class Add
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);不做任何更改(