2

以下の方法が分からず困っています。ユーザーがチェックリストを使用して必要な本をチェックできるようにしようとしていますが、支払う必要がある価格を決定するために選択内容 (チェック済みの本) を保存する方法がわかりません。ここに私のチェックリストコードがあります:

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 です) とその横にチェックボックスが表示されます。彼の選択を「保存」して、別の本の配列リストに保存できるようにする方法を理解するのに助けが必要です。

4

2 に答える 2

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 がトリガーされます

于 2013-04-04T18:46:06.993 に答える
0

JCheckList の 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]

于 2013-04-04T18:48:23.983 に答える