我爲我的JTable添加了JScrollPane。它出現了,但不可滾動。JScrollPane不屬於JTable
public class AddDepartment extends JFrame {
private static JPanel contentPane;
private Connection DBConnection;
static Connection conn = new DBConnection().connect();
static PreparedStatement pstmt = null;
static ResultSet rs = null;
static DefaultTableModel model = null;
private static JTable tableDepartments;
private static JScrollPane scrollPane;
public AddDepartment() throws SQLException {
model = new DefaultTableModel();
tableDepartments = new JTable(model);
tableDepartments.setRowSelectionAllowed(false);
tableDepartments.setEnabled(false);
tableDepartments.setSize(new Dimension(197, 66));
tableDepartments.setLocation(161, 34);
tableDepartments.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
updateDepartments();
}
private static void updateDepartments() throws SQLException {
try {
String sql = "SELECT Name FROM Departments";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
model.addColumn("Name");
while (rs.next()) {
String departmentName = rs.getString("Name");
model.addRow(new Object[] { departmentName });
}
if (tableDepartments.getRowCount() > 5) {
scrollPane = new JScrollPane(tableDepartments);
scrollPane.setSize(new Dimension(10, 50));
scrollPane.setLocation(360, 34);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
contentPane.add(scrollPane);
}
contentPane.add(tableDepartments);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
} finally {
rs.close();
pstmt.close();
}
}
}
部門表:
上圖爲它的樣子。我不能scrolldown。
(1)這不是一個SSCCE。有多少次你必須被告知我們不能執行這段代碼,因爲我們沒有訪問你的數據庫!你的問題是關於滾動,這與從數據庫獲取數據完全無關。您已被告知多次發佈您的SSCCE硬編碼數據,以便我們可以執行您的代碼以查看到底發生了什麼。如果你需要幫助而不是在同一主題上提問4個問題。通過適當的SSCCE,這將在第一個問題中得到解決。 – camickr