2017-06-14 3 views
0

データベースのpatientlistを表示するために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. あなたはスイングを使用する場合は、あなたがあなたのJFrame内のコードの下に持っていることを確認してください。

    frame.setContentPane(container); 
    frame.pack(); 
    frame.setVisible(true); 
    
  2. あなたはCOLUMNNAMESベクトル後のDefaultTableModelを作成しましたデータが割り当てられている場合は、割り当てを前方に移動してみてください。

  3. DefaultTableModelの作成後にテーブルデータベクトルを更新しました。試してみてください

    tableModel.fireTableChanged();