2014-03-07 35 views
0
connection = DriverManager.getConnection(URL, USER, PASSWORD); 
Statement st = connection.createStatement(); 
ResultSet result = st.executeQuery("select * from department"); 
table_1.setModel(buildTableModel(result)); 

方法:如何显示列名并将滚动条设置为jtable?

public static DefaultTableModel buildTableModel(ResultSet rs) 
     throws SQLException { 
    ResultSetMetaData metaData = rs.getMetaData(); 
    // names of columns 
    Vector<String> columnNames = new Vector<String>(); 
    int columnCount = metaData.getColumnCount(); 
    for (int column = 1; column <= columnCount; column++) { 
     columnNames.add(metaData.getColumnName(column)); 
    } 
    // data of the table 
    Vector<Vector<Object>> data = new Vector<Vector<Object>>(); 
    while (rs.next()) { 
     Vector<Object> vector = new Vector<Object>(); 
     for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) { 
      vector.add(rs.getObject(columnIndex)); 
     } 
     data.add(vector); 
    } 
    return new DefaultTableModel(data, columnNames); 
} 

结果:

enter image description here

+0

不要使用空布局!阅读教程。 – camickr

回答

0

实测值的溶液:

我把一个JScrollPane中的JFrame然后使用以下代码:

connection = DriverManager.getConnection(URL, USER, PASSWORD); 
Statement st = connection.createStatement(); 
ResultSet result = st.executeQuery("select * from department"); 
JTable t=new JTable(); 
t.setModel(buildTableModel(result)); 
s1.setViewportView(t); 

s1为JScrollPane的。

输出:

enter image description here

3

你需要用你的JTableJScrollPane,并添加所产生的JScrollPane到您的布局。

您提供的示例代码不显示如何将JTable添加到应用程序的JPanel或JFrame。

+0

我使用JFrame ...... –

+0

所以,你正在做一个frame.getContentPane()。add(table)的地方。这需要说frame.getContentPane()。add(新的JScrollPane(表))。 –

+0

你能说我该怎么做吗 –