2017-04-17 14 views
1

文字列ではなく "test"を使用すると、あまり具体的でない結果が得られます。この問題で他の質問をチェックしてみましたが、試みたが動作する回答が見つかりませんでした。NetBeans 8.2のjListに要素を追加する

Netbeansから送信されたjList FriendsListに最初に "test"だけを印刷しようとしています。モデルはデフォルトであり、設定した方法で何か間違ったものは見えません。ファイルはSystem.outとして正しく読み込まれています。

のJava:

DefaultListModel listOfFriends; 
    listOfFriends = new DefaultListModel(); 
    friendsList = new JList(listOfFriends); 

    String[] result = line.split(","); // line is previously init. 

    for (int i = 0; i < result.length; i++) 
     listOfFriends.addElement("test"); // THIS DOES NOT WORK 
     System.out.println(result); // THIS WORKS 
    } 

JListのはNetbeansのとして、ファイルの末尾にフレームに追加され、自動的を行い、その後、あなたはそれを変更することはできません。

ファイルのJavaの端(編集することができない変数宣言):

public javax.swing.JList<String> friendsList; 
+0

変数名は大文字で始めるべきではありません!他の変数がない場合、 "FrindsList"は大文字で始まるのはなぜですか?一貫性を保ち、Javaの規約に従ってください! – camickr

+0

JListをフレームに追加しますか?問題を示す適切な[mcve]を投稿してください。データファイルへのアクセス権がないので、まずハードコードされたデータを扱うようにしてください。これが機能すると、ハードコードデータをファイルのデータで置き換えるだけです。 – camickr

+0

@camickr私はあなたのためにそれらを追加しました。 FriendsListを首都に設定した理由は、私たちが初期化したものにスイング要素を簡単に識別したいからです。私たちがコーディングをしたり、お互いの仕事を取り上げたりするのを簡単にするものです。あなたの有益なコメントをお寄せいただきありがとうございます! –

答えて

0

あなたはこのことの二つの方法があります: 1)あなたのコードでは、手動で(どこでもinitComponents後list.setModel()を呼び出し)が呼び出されます。 2)NetBeansで行う - リストを右クリックして、「コードのカスタマイズ」に進みます。最初のコードセクションは、リストのコンストラクタ呼び出しです。ドロップダウンを "Default Code"から "Custom Creation"に変更し、ListModelをコンストラクタ呼び出しに挿入します。あなたは、コード内で)new javax.swing.JList(new DefaultListModel()) にそれを設定することによって、またはinitComponents(への呼び出しの前に、あなたのListModelをインスタンス化することによってこれを行い、その後、私はちょうど誰か

によって答え同様の質問からコードをコピーして貼り付け javax.swing.JList(defaultModel);

を行うことができます

+0

はい、あなたは正しいですが、AbstractからDefaultListModelに変更しても、それでも期待通りに動作しません。 –

+0

デザインタブでアイテムを追加するのではなく、JListにアイテムをドラッグアンドドロップする方法があります。 –

+0

これを正しいものとして追加しました。私のためにそれをソートしました、ありがとう! –

関連する問題