2017-01-15 21 views
-1

問題があります。作成したオブジェクトのリストを他のクラスのJlistに追加したい。私は多くのエラーが発生しました。私は異なった方法を試みたが、私はこれを行うことができない。今、私は私のGUIでのアレイアドレスを取得していますが、私は名前と賞金(シナ):(ヘルプしてくださいをしたい私は、リストに追加したいクラスのJlistにオブジェクトリストを追加するときのJavaエラー

コード:

DefaultListModel<String> dlm = new DefaultListModel<String>(); 

    magazyn.setModel(dlm); 
    hurt.addKonsola(); 
    magazyn.setListData(hurt.konsole.toArray()); 
    magazyn = new JList(hurt.konsole.toArray()); 
    //dlm.addElement(hurt.addKonsola()); 
    //for(String s:hurt.konsole){ 
    // dlm.addElement(s); 
    // } 

及び方法を切り抜いたクラスで:

public void addKonsola() { 
    Konsola[] konsola = new Konsola[10]; 
    konsola[0] = new Konsola("PlayStation 2",900,240,"Sony Computer Entertainment",32,100); 
    konsola[1] = new Konsola("PlayStation 3",1100,800,"Sony Computer Entertainment",256,320000); 
    konsola[2] = new Konsola("PlayStation 4",1250,1400,"Sony Computer Entertainment",8000,500000); 
    konsola[3] = new Konsola("Xbox 360",850,450,"Microsoft",512,250000); 
    konsola[4] = new Konsola("Xbox One",1150,1200,"Microsoft",8000,500000); 
    konsola[5] = new Konsola("Wii U",750,1,"Nintendo",2000,8000); 
    //for (int i = 0; i<konsola.length; i++) { 
    this.konsole.addAll(Arrays.asList(konsola)); 

    // } 
} 
+1

こんにちはおよびSOへようこそ。あなたが遭遇した「多くのエラー」についてもう少し具体的にお考えですか?それは人々があなたを助けることをより容易にします。ありがとうございました。 – QueryLars

+1

1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 2)必ずエラーと例外出力をコピー/ペーストしてください! –

+0

これらのコードでは、エラーが発生しませんでした。別のコードを入力したときにそれらを手に入れました。 – Bison42

答えて

0

あなたKonsolaあなたはJListの中で見たい文字列を返すpublic String toString()方法を、持っている必要があり

モデルをmagazynに設定し、別のオブジェクト(new JList)をこの変数に設定すると、モデルの配置は無効になります。最初にListを割り当て、次にtoStringメソッドを使用してStringをJListまたはKonsolaオブジェクトに渡す適切なモデルを設定します。

これを試してみてください。もちろん

public void test(JPanel panel) { 
    JList<Konsola> magazyn = new JList<>(); 
    DefaultListModel<Konsola> dlm = new DefaultListModel<>(); 
    addKonsola(dlm); 
    magazyn.setModel(dlm); 

    panel.add(magazyn); 
} 

public void addKonsola(DefaultListModel<Konsola> model) { 
    model.addElement(new Konsola("PlayStation 2", 900, 240, "Sony Computer Entertainment", 32, 100)); 
    model.addElement(new Konsola("PlayStation 3", 1100, 800, "Sony Computer Entertainment", 256, 320000)); 
} 

、あなたは少しMOR panel.add(magazyn)と特定をする必要があります。 :-)

マイダミーKonsolaクラスには、次のようになります。

class Konsola { 
    int i = 0; 
    String s = null; 

    public Konsola(String str, int i, int j, String t, int k, int l) { 
     this.s = str; 
     this.i = i; 
    } 

    public String toString() { 
     return s + " " + i; 
    } 
} 
+0

コメントは議論の対象外です。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/133215/discussion-on-answer-by-upf-java-error-when-adding-object-list-to-jlist) 。 –

+0

私はdlm2.getElementAt((Konsola)magazyn.getSelectedIndex()。cena)のようなスムージングを何度もやってみました。しかし、何も動作しません:/私はアイデアを持っていない – Bison42

+0

答えはチャットです – upf

関連する問題