java swing jtable 不能显示 这是关于jtable的一个程序,但是查询数据时,jtable不能显示,帮忙看一下
privatevoiddisplayResultSet(ResultSetrs)throwsSQLException{if(rs.next()){Vectorrows=n...
private void displayResultSet(ResultSet rs) throws SQLException {
if (rs.next()) {
Vector rows = new Vector();
Vector columnHeads = new Vector();
try {
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));
do {
rows.addElement(getNextRow(rs, rsmd));
} while (rs.next());
JTable jTable = new JTable(rows, columnHeads);
jTable.setSize(new Dimension(383, 81));
JScrollPane scroller = new JScrollPane(jTable);
Container c = getContentPane();
c.remove(2);
c.add(scroller);
c.validate();
c.add(jTable);
jTable.setVisible(true);
} catch (SQLException e) {
e.printStackTrace();
}
}
else{
return;
}
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException {
Vector currentRow = new Vector();
for (int i = 1; i < rsmd.getColumnCount(); ++i)
currentRow.addElement(rs.getString(i));
return currentRow;
} 展开
if (rs.next()) {
Vector rows = new Vector();
Vector columnHeads = new Vector();
try {
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));
do {
rows.addElement(getNextRow(rs, rsmd));
} while (rs.next());
JTable jTable = new JTable(rows, columnHeads);
jTable.setSize(new Dimension(383, 81));
JScrollPane scroller = new JScrollPane(jTable);
Container c = getContentPane();
c.remove(2);
c.add(scroller);
c.validate();
c.add(jTable);
jTable.setVisible(true);
} catch (SQLException e) {
e.printStackTrace();
}
}
else{
return;
}
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException {
Vector currentRow = new Vector();
for (int i = 1; i < rsmd.getColumnCount(); ++i)
currentRow.addElement(rs.getString(i));
return currentRow;
} 展开
2个回答
展开全部
Container c = getContentPane();这里可以得到的是一个面板。最好你再设置一下这个面板布局。
JScrollPane scroller = new JScrollPane(jTable);
scroller虽然可以放到这个table但是建意,还是分开得到内容。
比如:
JPanel p=getContentPane();
设置p的布局。当然BorderLayout比如合适 。
jTable放在center,
JTableHeader h= jTable.getTableHeader();
h可以放在上面。
这样就可以显示了,scroller也可以用,放在center再放jTable就行了。
另外当你修改了jtable的内容时,最好能调用一下updateUI方法。
JScrollPane scroller = new JScrollPane(jTable);
scroller虽然可以放到这个table但是建意,还是分开得到内容。
比如:
JPanel p=getContentPane();
设置p的布局。当然BorderLayout比如合适 。
jTable放在center,
JTableHeader h= jTable.getTableHeader();
h可以放在上面。
这样就可以显示了,scroller也可以用,放在center再放jTable就行了。
另外当你修改了jtable的内容时,最好能调用一下updateUI方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询