3

ArrayList<JCheckBox>変換したいものがありますArrayList<String>

まず、私はこれが好きです。ファイルからすべてのタイトルを取得し、それらを新しいArrayListに配置します。あとがき、StringArrayのすべての文字列を含む新しいJCheckBox配列を作成します。

ArrayList<String> titler = new ArrayList<String>();
titler.addAll(FileToArray.getName());

ArrayList<JCheckBox> filmListe = new ArrayList<JCheckBox>();
for(String titel:titler){
    filmListe.add(new JCheckBox(titel));
}
for(JCheckBox checkbox:filmListe){
    CenterCenter.add(checkbox);
}

これが私がやろうとしていることです。最初に、選択したすべてのチェックボックスを含む新しいArrayList(JCheckBox形式のまま)を作成します。あとがき文字列形式で新しいArrayListにを追加したいと思います。

主な問題はイタリック体です(**付き):

ArrayList<JCheckBox> selectedBoxes = new ArrayList<JCheckBox>();

for(JCheckBox checkbox: filmListe){
    if (checkbox.isSelected()){
        selectedBoxes.add(checkbox);
    }

ArrayList<String> titlesArr = new ArrayList<String>();
for(JCheckBox titel:selectedBoxes){ 
    *titlesArr.add(titel);*
}

小さな問題のためのたくさんのコードとテキスト!しかし、私は本当にあなたの助けに感謝します!:)

4

3 に答える 3

4

、タイプにJCheckBoxを追加することはできません。互換性はありません。List<String>JCheckBoxString

チェックボックスのテキストをリストに追加したいので、次を使用して手動で取得する必要があります。

titlesArr.add(titel.getText());
于 2011-11-30T13:15:37.380 に答える
1

チェックボックスのラベルがタイトルのリストに最初にあったものとまったく同じであると仮定して、チェックボックスのgetTextメソッド(文字列ラベルを取得する)を使用するだけです。チェックされているチェックボックスの個別のリストを作成する必要はありません。次のように、最初のループ内にifブロックを配置するだけです。

    ArrayList<String> titlesArr = new ArrayList<String>(filmListe.size());

    for (JCheckBox checkbox : filmListe) {
        if (checkbox.isSelected()) {
            titlesArr.add(checkbox.getText());
        }
    }
于 2011-11-30T13:32:29.840 に答える
1

これを試して:

ArrayList<String> titlesArr = new ArrayList<String>();
for(JCheckBox checkbox: filmListe)
    if (checkbox.isSelected())
        titlesArr.add(checkbox.getText());

titlesArrあなたが欲しかったものが含まれています。

于 2011-11-30T13:29:21.547 に答える