0

我的代码很简单............我希望当我按下按钮时将面板中所有标签的文本设置为“”(无)/正在工作/所有组合框的值为 1。//这是不工作。它仅将第一个 7 组合框设置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     

有谁知道原因?

4

1 回答 1

3

尽管您没有向我们展示构造函数,但问题很清楚。您忘记将所有数量组合框添加到amout数组列表中。

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

于 2013-02-21T10:58:16.370 回答