2017-06-14 50 views
0

我想在我的GUI中实现一个表来显示我的数据库的患者列表。它没有显示任何东西。有人知道为什么它不起作用?我几乎肯定这个代码应该工作,我希望有人能帮助我。DefaultTableModel java + sql

private void initTable() throws SQLException { 

    Vector columnNames = new Vector(); 
    Vector rowData = new Vector(); 

    DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames); 
    table.setModel(tableModel); 
    table.setBounds(10,410,50,20); 
    JScrollPane scrollPane = new JScrollPane(table); 
    add(scrollPane, BorderLayout.SOUTH); 

    conn = Connector.connection(); 

    PreparedStatement stm; 
    String query = "Select * from patient;"; 
    stm = conn.prepareStatement(query); 
    try { 
     rs = stm.executeQuery(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    int i = 0; 
    while(rs.next()){ 
     rs.getString(i); 
     rowData.add(i,rs); 
     i++; 
    } 



    columnNames.add("PatientID"); 
    columnNames.add("Surname"); 
    columnNames.add("Lastname"); 
    columnNames.add("Birthdate"); 
    columnNames.add("Adress"); 
    columnNames.add("Height"); 
    columnNames.add("Weight"); 
    columnNames.add("Gender"); 
    columnNames.add("Emergencycontact"); 
    columnNames.add("Emergencynumber"); 
    columnNames.add("roomNr"); 


    conn.close(); 
} 

问候萨米尔

回答

0

当你说“它不会显示任何东西”,是它的文字?如果没有做假设,我会建议您检查以下几点:

  1. 当您使用Swing,请确保您有以下您的JFrame代码:

    frame.setContentPane(container); 
    frame.pack(); 
    frame.setVisible(true); 
    
  2. 你有COLUMNNAMES矢量之后创建一个DefaultTableModel分配有数据,请尝试向前移动作业。

  3. 在创建DefaultTableModel后,您已经更新了表格数据向量。尝试

    tableModel.fireTableChanged(); 
    
相关问题