我为我的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