我試圖從數據庫(我使用Oracle的SQL Developer)將一些數據加載到java中的JTable中。我把數據從矢量的矢量數據庫,這是我的負荷方法,我把一類叫做DBJobs:儘管行數超過1行,JTable只顯示1行
public Vector load() {
try {
Vector tableData = new Vector();
Conn con = new Conn();
con.openConn();
con.statement = con.dbConn.createStatement();
ResultSet rs = con.statement.executeQuery("Select * from Jobs");
while (rs.next()) {
Vector<Object> row = new Vector<Object>();
row.add(rs.getString("Job_ID"));
row.add(rs.getString("Job_Title"));
row.add(rs.getString("Parent_Job_ID_1"));
row.add(rs.getString("Parent_Job_ID_2"));
row.add(rs.getString("Description"));
tableData.add(row);
}
con.closeConn();
return tableData;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
然後我試圖填充他們進入我用編輯器做一個JTable在另一個類中:
private void populateJobsTable() {
Vector<String> tableHeader = new Vector<String>();
tableHeader.add("Job ID");
tableHeader.add("Job Name");
tableHeader.add("Parent Job ID 1");
tableHeader.add("Parent Job ID 2");
tableHeader.add("Description");
Vector tableData = dbJobs.load();
tblJobs.setModel(new DefaultTableModel(tableData, tableHeader));
}
但是我能看到的是表中的1行數據。我試過打印Vector有多少數據以及表有多少行,它們都返回49,這是我在數據庫中的數據量。那麼爲什麼我的表只顯示1個數據?
編輯: 我認爲這是產生使JTable中的代碼:
的所有tblJobs = new javax.swing.JTable();
tblJobs.setFont(new java.awt.Font("Tempus Sans ITC", 0, 14)); // NOI18N
tblJobs.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null}
},
new String [] {
"Job Name"
}
) {
Class[] types = new Class [] {
java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
tblJobs.setPreferredSize(new java.awt.Dimension(225, 16));
jScrollPane5.setViewportView(tblJobs);
if (tblJobs.getColumnModel().getColumnCount() > 0) {
tblJobs.getColumnModel().getColumn(0).setResizable(false);
}
表格如何顯示?您是否嘗試過使用虛擬數據而不是從數據庫中加載它? – MadProgrammer
我在編輯器中創建了表格,所以我的代碼中沒有setVisible(true)方法。是的,我試過使用虛擬數據,它仍然只顯示1行。 – Grandevox
考慮提供一個[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) – MadProgrammer