我的代码很简单..........我想按下按钮将文本设置为面板中的所有标签“”(无)/正在工作/所有组合框值为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
有谁知道原因?
答案 0 :(得分:3)
虽然你没有向我们展示构造函数,但问题非常清楚。您忘记将所有金额组合框添加到amout
数组列表中。
如果不是问题,请在按下按钮时检查是否有任何异常。