JComboBox中的setSelectedItem什么都不做

时间:2013-02-21 10:54:34

标签: java swing user-interface jcombobox

我的代码很简单..........我想按下按钮将文本设置为面板中的所有标签“”(无)/正在工作/所有组合框值为1 / /这不是workig。它只在ArrayList amout中将第一个七元组合设置为值1,其他组合不会更改它们的值!

我没有做modelcombobox!!也许这就是原因! 我不知道,我是初学者

我的代码

    public class Bill extends JPanel {
 private JComboBox amount1=new JComboBox(new String[]{"-1","0","1", "2", "3", "4", "5",  "6", "7","8","9"});
    private JComboBox amount2=new JComboBox(new String[]{"-1","0","1", "2", "3", "4", "5", "6", "7","8","9"});
   .........some other labels, combobox......

    static ArrayList<JLabel> product=new ArrayList<JLabel>();
    static ArrayList<JComboBox> amout=new ArrayList<JComboBox>();
    static ArrayList<JLabel> pprice=new ArrayList<JLabel>();
    static ArrayList<JLabel> prprice=new ArrayList<JLabel>();

    .......ArrayList to hold labels and combobox.....

     private JButton jbtView = new JButton("STAMPAJ RACUN"); 
       //conctructor

     public Bill(){

              product.add(product1);
      product.add(product2);
      product.add(product3);
      product.add(product4);
      product.add(product5);
      product.add(product6);
      product.add(product7);

      pprice.add(jlb1);
      pprice.add(jlb3);
      pprice.add(jlb5);
      pprice.add(jlb7);
      pprice.add(jlb9);
      pprice.add(jlb11);
      pprice.add(jlb13);

      amout.add(amount1);
      amout.add(amount2);
      amout.add(amount3);
      amout.add(amount4);
      amout.add(amount5);
      amout.add(amount6);
      amout.add(amount7);

      prprice.add(jlb2);
      prprice.add(jlb4);
      prprice.add(jlb6);
      prprice.add(jlb8);

    ......add all labels, bomboboxes to ArrayList , make panels......//all works
      jbtView.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {


                 for (int j=0;j<Application.manu.size();j++){                    
                     if ((product.get(0).getText()).equals(Application.manu.get(j).getName()))//this is working
                        Application.manu.get(j).setCol(kol+Application.manu.get(j).getCol());//this is working

                       }

                 for (int j=0;j<prprice.size();j++){
                     prprice.get(j).setText("0.0");
                 }//this is working-set labels to ""

                  for (int i=0;i<product.size();i++){

                      product.get(i).setText("");//this is working-set labels to ""
                  }
                  for (int j=0;j<prprice.size();j++){
                         pprice.get(j).setText("");
                     }//this is working-set labels to ""

                  for (int j=0;j<amout.size();j++){


                          amout.get(j).setSelectedItem("1");//only first combobox set to value "1", others doesn't change

                        } 
                      UKUPNO.setText("0.0"); // doesn't set to "0.0", doesn't change     

有谁知道原因?

1 个答案:

答案 0 :(得分:3)

虽然你没有向我们展示构造函数,但问题非常清楚。您忘记将所有金额组合框添加到amout数组列表中。

如果不是问题,请在按下按钮时检查是否有任何异常。