栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从数据库更新查询结果的JPanel

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从数据库更新查询结果的JPanel

运行查询,并将每一行放入一个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 );


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431340.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号