2011-03-28 4 views
0
Jtable 값을 Jtable에 추가하려고합니다. 값을 arrayList, 에서 가져옵니다. 어떻게합니까

JTable 3 fields arraysList

Object[][] data;를 만들려고했는데 루프 안에 채우지 만 작동하지 않습니다. 어떻게 수정합니까? 이?

String[] columns = {"Field String","Field Double"," Field Double"}; 
Object[][] data; 

Iterator<Node> itr = arrayList.iterator(); 
while (itr.hasNext()) { 
    Node el = itr.next(); 
    double a = el.getval(); 
    data[i][1] = el.getstring(); 
    data[i][2] = a; 
    data[i][3] = a*4; 
    i++; 
} 


JFrame frame = new JFrame("Title "); 
JTable tablE = new JTable(data, columnas); 
JPanel panel = new JPanel(); 

panel.add(table); 
frame.add(panel); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setSize(500, 500); 
frame.setVisible(true); 

while 루프에서 "데이터"를 어떻게 채우고 있습니까?

답변

2

DefaultTableModel을 사용하고 addRow (Object []) 또는 addRow (Vector) 메서드를 사용하여 데이터 행을 추가하십시오. 이것을 JTable의 모델로 설정하십시오. API 및 JTable 자습서를 사용하여 시작할 수 있습니다. 예를 들어

,

ArrayList arrayList = new ArrayList(); 

    String[] columns = {"Field String","Field Double"," Field Double"}; 
    DefaultTableModel model = new DefaultTableModel(columns, 0); 

    for (Object item : arrayList) { 
    Object[] row = new Object[3]; 
    //... fill in row with info from item 

    model.addRow(row); 
    } 

    JTable table = new JTable(model); 

이것은 for 루프와 함께 그 일을 보여줍니다하지만 while 루프는 유사하다.