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 に答える