私はハードウェアショップをJavaで作成する必要があります。ここで、顧客は、リストから注文したいアイテムをチェックボックスで選択し、数量をスピナーで選択することができます。私が手どの自動生成チェックボックスが選択されているかを調べる方法は?
ArrayList stringList = new ArrayList();
stringList = cond.getOnderdelen(); // he gets the items from the database (method in other class)
itemArea.add(new JLabel("Naam en prijs")); // itemArea is my JPanel
for (int i = 0; i < stringList.size(); i++) {
System.out.println(stringList.get(i));
String item = (String) stringList.get(i);
String checknummer = Integer.toString(i);
check = new JCheckBox(checknummer);
check.setText(item);
JSpinner spin = new JSpinner();
itemArea.setLayout(new BoxLayout(itemArea, BoxLayout.Y_AXIS));
itemArea.add(check); // I add the components to the JPanel..
itemArea.add(spin);
:私はこれが私のforループであるため、ループ(アイテムがデータベースにクエリから来て、ArrayListの中に戻る)
を通じて項目のリストを生成することができます10以上のアイテムで素敵なboxlayout。 しかし、今は難しい部分:どのチェックボックスが選択されているかを知る方法は?だから私はボタンを作ることができます注文。 それが唯一の私が「私はカウンターと同じように、variabel名でより多くのチェックボックスを作ることができるならば、問題が解決されるだろう(そのデータベースの最後の項目から)最後に生成されたチェックボタン
if(e.getSource() == orderBtn)
{
System.out.println("Button has been pressed");
state = check.isSelected(); // state is a boolean variable.
if(state == true)
{
System.out.println("True: checkbox is selected!");
}
の値を見つけることができます'をFORループから削除します。チェックボックス1、チェックボックス2、チェックボックス3のいずれかをチェックできます。 ..選択されていますか? どのように?事前に
おかげで、 Diederik Verstraete 学生ビジネスエンジニアゲント
すみません、ありがとう、私はそれを動作させることができると思います。しかしisChecked()メソッドは動作しません。また、checkboxes.add(新しいJCheckBox(i));整数ではなく値としての文字列が必要なので間違っています。 – user1090211
大丈夫ですが、あなたはそのアイデアを得ていますよね? Editted - あなたはisSelected()を使うことができます。 – jeff