2017-07-10 16 views
0

配列クラスで私は次のコードを持ち、jListにロードされるname、surname、score変数を使いたいと思います。どうすればいい?スキャナを使ってSwingコントロールコンポーネントにテキストファイルをどのように読み込みますか?

private static User uArr [] = new User [10]; 
private static int size = 0; 
public UserArray() throws FileNotFoundException { 

try 
{ 
    Scanner fcFile = new Scanner (new File ("user.txt")); 
    String line, name, surname; 
    int score; 

    while (fcFile.hasNext()) 
    { 
     line = fcFile.nextLine(); 
     Scanner cfFile = new Scanner (line); 
     name = cfFile.next(); 
     surname = cfFile.next(); 
     score = cfFile.nextInt(); 
     cfFile.close(); 
     uArr[size] = new User (name,surname,score); 
     size++; 
    } 

    fcFile.close(); 

} 
catch (FileNotFoundException f) 
{ 
    System.out.println("File Not Found - Check File Name And Path Again."); 
} 
+1

testField.setText();試しましたか? –

+0

[こちら](https://docs.oracle.com/javase/tutorial/uiswing/components/list.html)の記事をお読みください。これは 'JList'の使い方を理解するのに役立ちます。 –

+0

配列 'User uArr [] = new User [10];の代わりに、コードは[DefaultListModel'](https://docs.oracle.com/javase/8/docs/api/)への参照を保持することがあります。 javax/swing/DefaultListModel.html)&新しく作成された 'User'をそのモデルに追加します。リストモデルを使用して 'JList'を作成するか、モデルとして設定することができます。これは[リストの使用方法](https://docs.oracle.com/javase/tutorial/uiswing/components/list.html)で説明されています。ここで質問する前にチュートリアルをご覧ください。 –

答えて

1

は、データの単一片を格納するために使用されるJListの

AのJListにロードされる名前、姓を使用して変数を獲得したいと思います。 3つのデータを含むオブジェクトを表示したいので、JTableを使用する必要があります。詳しくは、How to Use TablesのSwingチュートリアルのセクションを読んでください。

JTableを使用する場合は、クラスを使用せずにDefaultTableModelを使用し、それぞれのデータを別々にTablemModelに保存することができます。

または、JTableUserクラスを追加する場合は、カスタムTableModelを作成する必要があります。オブジェクトのカスタムモデルを作成するためのステップバイステップの例については、Row Table Modelを参照してください。

関連する問題