保存清单选择

时间:2013-04-04 18:40:26

标签: java arraylist save jcheckbox

我无法弄清楚如何执行以下操作。我试图让用户使用我的核对表检查他想要的书籍,但我无法弄清楚如何保存他的选择(已检查的书籍)以确定他必须支付的价格。这是我的清单代码:

for(int k=0;k<catalogue.getCatalogue().size();k++)
    {
        frame.add(new JCheckBox(catalogue.cat.get(k).toString()));
    }


    frame.setLayout(new FlowLayout());
    frame.setSize(900,900);
    frame.setVisible(true);
    frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}});

它只显示书籍列表(目录是包含书籍的Arraylist,我从文件中读取),旁边有一个复选框。我需要帮助找出如何“保存”他的选择,以便我可以将它存储在另一个书籍的arraylist中。

2 个答案:

答案 0 :(得分:0)

JCheckBox[] checkboxArray = new JCheckBox[catalogue.getCatalogue().size()];

for(int k=0;k<catalogue.getCatalogue().size();k++)
    {
        checkboxArray[k] = new JCheckBox(catalogue.cat.get(k).toString());
        frame.add(checkboxArray[k]);
    }

//

you can also add a ItemListener to your checkboxs



  private class CheckBoxListener implements ItemListener
        {
            public void itemStateChanged(ItemEvent e)
            {
                if(e.getSource() == check1)
                {
                    if(check1.isSelected())
                    {
                                  //do something
                                }   
                }
            }
        }
  JCheckBox[] checkboxArray = new JCheckBox[catalogue.getCatalogue().size()];
  CheckBoxListener listener = new CheckBoxListener();

    for(int k=0;k<catalogue.getCatalogue().size();k++)
        {
            checkboxArray[k] = new JCheckBox(catalogue.cat.get(k).toString());
            checkboxArray[k].addItemListener(listener);
            frame.add(checkboxArray[k]);
        }

//现在当一个盒子被检查时,一个ItemEvent会发生攻击

答案 1 :(得分:0)

您应该使用JCheckLists的Array / ArrayList。例如:

JCheckBox[] checkboxes = new JCheckBox[catalogue.getCatalogue().size()];

然后:

for(int k=0;k<catalogue.getCatalogue().size();k++)
{
    checkboxes[k] = new JCheckBox(catalogue.cat.get(k).toString()));
    frame.add(checkboxes[k]);
}

现在您可以轻松检查每个复选框的状态,例如,您可以通过复选框[0]

引用第一个复选框。