运行查询,并将每一行放入一个JPanel,并添加到显示中供用户查看
我建议您使用a
JTable来显示数据库中的数据。A
JTable被设计为以行/列格式显示数据。
阅读Swing教程中有关如何使用表的部分,以获取更多信息和示例。
我希望用户能够根据它们提供的值(通过JTextField)过滤这些结果,并且希望显示的记录随着JTextField值的更改而更新。
A
JTable支持动态过滤表中显示的数据。上面的教程中有一节介绍
Sorting andFiltering了如何在将文本输入到文本字段中时进行过滤。过滤表比重做SQL查询更有效。
将数据添加到表很简单。无需为每列数据创建一个面板,您可以向TableModel添加新的数据行:
String sql = "Select * from ???"; Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery( sql ); ResultSetmetaData md = rs.getmetaData(); int columns = md.getColumnCount(); // Get column names for (int i = 1; i <= columns; i++) { columnNames.addElement( md.getColumnName(i) ); } // Get row data while (rs.next()) { Vector<Object> row = new Vector<Object>(columns); for (int i = 1; i <= columns; i++) { row.addElement( rs.getObject(i) ); } data.addElement( row ); } // Create table with database data DefaultTableModel model = new DefaultTableModel(data, columnNames) { @Override public Class getColumnClass(int column) { for (int row = 0; row < getRowCount(); row++) { Object o = getValueAt(row, column); if (o != null) { return o.getClass(); } } return Object.class; } }; JTable table = new JTable( model ); JScrollPane scrollPane = new JScrollPane( table );


