2016-04-12 7 views
0

このコードはオブジェクトを取り込み、オブジェクトのid、firstname、lastnameを表示する3つの列を持つjtableを作成しようとしています。今は、IDが列を横切るのではなく行を横切っています。どのように私はそれを変更するのですか?Jtableの異なる列に要素を追加する

public class Main { 
    private RealPayroll obj; 

public Main(RealPayroll obj1){ 
    obj=obj1; 
} 

public void run() { 
obj.runPayroll(4); 
Vector rowData = new Vector(); 
String id[]=new String[50]; 
String firstname[]=new String[50]; 
String lastname[]=new String[50]; 


for (int i=0;i<obj.getPaySlips().length;i++) 
{ 
    id[i]=String.valueOf(obj.getPaySlips()[i].getId()); 
    firstname[i]=obj.getPaySlips()[i].getFirstName(); 
    lastname[i]=obj.getPaySlips()[i].getLastName(); 
} 

Vector rowOne=new Vector(); 
for (int i= 0; i < obj.getPaySlips().length; i++) { 
    Vector colData = new Vector(Arrays.asList(id[i])); 
    rowOne.add(colData); 
} 

Vector rowTwo=new Vector(); 
for (int i = 0; i < obj.getPaySlips().length; i++) { 
    Vector col2Data = new Vector(Arrays.asList(firstname[i])); 
    rowTwo.add(col2Data); 
} 

String[] columnNames = {"Id","FirstName","LastName"}; 
rowData.addElement(rowOne); 
rowData.addElement(rowTwo); 
Vector columnNamesV = new Vector(Arrays.asList(columnNames)); 

JTable table = new JTable(rowData, columnNamesV); 
table.setBounds(5,89,280,471); 
JFrame f = new JFrame(); 
f.setSize(300, 300); 
f.add(new JScrollPane(table)); 
f.setVisible(true); 

}}

答えて

0

基本的なロジックは、このようなものでなければなりません:

  1. 空のDefaultTableModelを作成します。
  2. データの個々の行をテーブルモデルに追加します。

擬似コード:

String[] columnNames = {"Id","FirstName","LastName"}; 
DefaultTableModel model = new DefaultTableModel(columnNames, 0); 

for (all the items in the payroll) 
{ 
    Vector row = new Vector(); 
    row.addElement(payroll id); 
    row.addElement(payroll firstName); 
    row.addElement(payroll lastName); 
    model.addRow(row); 
} 

JTable table = new JTable(model); 
  • は、テーブルを作成します。
  • 関連する問題