Java 导致JComboxes相互锁定的JComboxes的ArrayList
这就是我遇到的问题:我有一个Java 导致JComboxes相互锁定的JComboxes的ArrayList,java,swing,arraylist,jcombobox,Java,Swing,Arraylist,Jcombobox,这就是我遇到的问题:我有一个ArrayList的5个JComboBox。这些JComboBox都包含相同的五个选项:“1”、“2”、“3”、“4”和“5”。然后,我通过for循环将JComboBox的ArrayList添加到JFrame。然而,出于某种奇怪的原因,每当我在一个JComboBox中选择一个选项时,JComboBox的其余部分也会选择该原因第一个屏幕截图是第一次执行时处于其状态的JFrame: 这是用户选择另一个菜单项的屏幕截图: 第三个屏幕截图显示所有JComboBox都已更改为所
ArrayList
的5个JComboBox
。这些JComboBox
都包含相同的五个选项:“1”、“2”、“3”、“4”和“5”
。然后,我通过for
循环将JComboBox
的ArrayList
添加到JFrame
。然而,出于某种奇怪的原因,每当我在一个JComboBox
中选择一个选项时,JComboBox
的其余部分也会选择该原因第一个屏幕截图是第一次执行时处于其状态的JFrame
:
这是用户选择另一个菜单项的屏幕截图:
第三个屏幕截图显示所有JComboBox
都已更改为所选输入。
这是我的代码:
class Foo {
JFrame frame = new JFrame("Add person(s)");
ArrayList<JComboBox> comboArray = new ArrayList<JComboBox>();
String[] floors = {"1", "2", "3", "4", "5"};
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>(floors);
public void go() {
for (int x = 0; x < 5; x++) {
comboArray.add(new JComboBox<String>(model)); //Adds numbers 1-5 to a new JComboBox, and the JComboBox is then added to comboArray
frame.add(comboArray.get(x)); //Adds each JComboBox to the frame
}
frame.setResizable(false);
...
frame.setVisible(true);
}
public static void main (String [] args) {
go();
}
}
class-Foo{
JFrame=新JFrame(“添加人员”);
ArrayList comboArray=新的ArrayList();
字符串[]floors={“1”、“2”、“3”、“4”、“5”};
DefaultComboxModel=新的DefaultComboxModel(楼层);
公开作废go(){
对于(int x=0;x<5;x++){
comboArray.add(new JComboBox(model));//将数字1-5添加到新的JComboBox,然后将JComboBox添加到comboArray
frame.add(comboArray.get(x));//将每个JComboBox添加到帧中
}
frame.setresizeable(false);
...
frame.setVisible(true);
}
公共静态void main(字符串[]args){
go();
}
}
现在,每个组合框都包含一个单独的模型,但每个模型都包含相同的值
现在,每个组合框都包含一个单独的模型,但每个模型都包含相同的值
comboArray.add(new JComboBox<String>(model));
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>(floors);
comboArray.add(new JComboBox<String>(model));