2016-11-15 5 views
0

2つのリストがあり、最初のリストに従業員名が含まれ、2番目のリストに従業員IDが含まれています。私のjtableには、「Name」と「ID」という2つの列があります。 jtable列に賢明にデータ列を追加する方法はありますか?複数の配列からJtableにデータを追加

public static ArrayList <String> Name = new ArrayList <String>(); 
public static ArrayList <Double> ID = new ArrayList <Double>(); 
String[] columns = {"Name","ID"}; 
JTable table = new JTable(Columns,0); 
//What to enter here 

私は、jtableではデータ行を賢明にしか追加できないという多くの記事を読んでいます。しかし私の場合、配列には情報行が含まれていません。また、両方の行を1つのリストにマージしようとしましたが、目的を解決しません。

答えて

0

まずクラスまたはディクショナリを使用して値を保存することを検討してください。わかりました、私は、行と列の反復を使用してそれを解決する方法に飛び込むてみましょう:

行イテレーション

それが推奨されますので、私は(列以下の繰り返し)最初の行の反復を使用して問題を解決する方法を説明するつもりです。 forループを使用して、両方を反復して同時に値を追加することができます。例:

DefaultTableModel model = new DefaultTableModel(); 
for (int i = 0; i < Name.size(); i++) { 
    Object[] o = new Object[2]; 
    o[0] = Name.get(i); 
    if(i<ID.size()) 
    { 
     o[1] = ID.get(i); 
    } 
    model.addRow(o); 
} 
model.setColumnIdentifiers(columns); 
table.setModel(model); 

IDの代わりにintを使用することを検討してください。

列反復

しかし、あなたが本当に列の繰り返しを使用したい場合は、このリンクをチェックアウト:

Adding Columns to JTable dynamically

は、基本的にはその記事で説明される方法を追加する必要があるということです列をモデルに追加し、その値を含むオブジェクト配列をモデルに追加します。

model.addColumn("ID", ID.toArray()); 
+0

ありがとうございました:)行の反復の場合、ここでオブジェクト配列を追加しています。列の反復の場合、最初にobect []で "ID"配列を変換しなければなりません。 – Mani

+0

'DefaultTableModel'を使用している場合、' model.addColumn( "ID"、ID.toArray()); 'と' model.addColumn( "Name"、Name.toArray()); ' – Enwired

+0

@Maniどういたしまして。申し訳ありません、 'toArray()'を追加することを忘れてしまいました。Enwiredが私をパンチに叩いて、洗練されたものを反映するように答えを編集します:) – CrimsonSage

関連する問題