如何把" case"进入循环

时间:2014-05-29 20:29:10

标签: java loops combobox case

这是我的程序的片段代码,它将模拟太阳系。根据用户将在“amountField”中写入的内容,行星的“数量”将发生变化,ComboBox的“listOfPlanet”也将发生变化。这是我的问题。我发现了如何“调整大小”Combobox,但我不知道如何使“X”取决于“数字”。如你所见,我必须手动编写12个案例。

amountField = new JTextField(6);
        ActionListener amountListener = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String amountData = amountField.getText();
                    Number = Integer.parseInt(amountData);
                    listOfPlanet.removeAllItems();
                    for(int i = 0; i<Number; i++) {
                        listOfPlanet.addItem("Planeta" + i);
                    }
                    b = new Ball(leftMainPanel);
                }
            };
            amountField.addActionListener(amountListener);
        rightUpPanel.add(amountField);


    listOfPlanet = new JComboBox();

    for(int i = 0; i<Number; i++) {
        listOfPlanet.addItem("Planeta" + i);
    }

    ActionListener ComboListener = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                int temp;
                temp = listOfPlanet.getSelectedIndex();
                    switch(temp){
                    case 0: 
                        iii=0;
                        break;
                    case 1:
                        iii=1;
                        break;
                    case 2:
                        iii=2;
                        break;
                    case 3:
                        iii=3;
                        break;
                    case 4:
                        iii=4;
                        break;
                    case 5: 
                        iii=5;
                        break;
                    case 6: 
                        iii=6;
                        break;
                    case 7: 
                        iii=7;
                        break;
                    case 8: 
                        iii=8;
                        break;
                    case 9: 
                        iii=9;
                        break;
                    case 10: 
                        iii=10;
                        break;
                    case 11: 
                        iii=11;
                        break;
                    case 12: 
                        iii=12;
                        break;
                    }
                }
            };

        listOfPlanet.addActionListener(ComboListener);

有没有办法让它像这样工作? :

for(int i=0; i<Number; i++) {
     case i: 
     iii=i;
     break;
}

1 个答案:

答案 0 :(得分:3)

iii = listOfPlanet.getSelectedIndex(); 

这不起作用吗?你应该得到iii =从下拉框中选择的行星的索引。