0

クラスのtoArrayメソッドの使用に問題があります。、 、 の内容を、にArrayList入れる必要があり、メソッドを使用してそれを行いたいと思います。リストの値をタブに入れ、このタブを.ArrayListvecPersonnagesJListlisteObjetsArrayList#toArrayJList

Google でヘルプを確認しましたが、見つかったものはすべて機能しないことが判明しました。私は自分のクラスにメソッドを持っていますが、私が利用するクラスにはメソッドがtoStringありません。toStringJList

これは私が自分のクラスを宣言した方法です:

private JList<Personnage> listeObjets = null;
private ArrayList<Personnage> vecPersonnages = null;

ArrayList以下は、私のコンテンツをに追加しようとするコードとJList、コメントに記載されているいくつかのことを試したものです。

Personnage[] tabPerso = new Personnage[vecPersonnages.size()];
for (int i = 0; i < vecPersonnages.size(); i++) {
    tabPerso[i] = vecPersonnages.get(i);
}
listeObjets.setListData(tabPerso);
//listeObjets.setListData(vecPersonnages.toArray());
//listeObjets.setListData((Personnage[]) vecPersonnages.toArray());
/*the last line gives me a ClassCastException (java.lang.Object 
  cannot be cast to personnage.Personnage)*/
4

1 に答える 1

3

のオーバーロードされたメソッドを使用しtoArray()ますtoArray(T[] a)

Personnage[] array = new Personnage[vecPersonnages.size()]; //Create a new array with the size of the ArrayList
vecPersonnages.toArray(array); // fill the array
listeObjets.setListData(array);
于 2013-04-05T16:42:03.473 に答える