【问题标题】:how to poplate jtable with jtextfield values如何用 jtextfield 值填充 jtable
【发布时间】:2016-01-01 13:19:34
【问题描述】:

我有一个JTexTField,它搜索项目详细信息并在文本字段中输入条形码时使用keyReleased ActionListenerJTable 中显示单行。

我的目标是通过这个JTextField 在这个JTable 中添加多行。例如,如果在文本字段中扫描或输入条码,则应在JTable 中添加一行,并且文本字段也应为下一次扫描清除。

我可以通过添加行的按钮来实现这一点,但我的挑战是在输入条形码时在JTable 中添加行。下面是我的代码。到目前为止,我只能用一个代码搜索和填充表格。 私人无效 jTextField1KeyReleased(java.awt.event.KeyEvent evt) {

    try {
        String sql = "select barcode,serv_descr,serv_amt,notes from service.servicces where barcode=?";
        pst = conn.prepareStatement(sql);
        pst.setString(1, jTextField1.getText());
        rs = pst.executeQuery();
        Table_servicesale.setModel(DbUtils.resultSetToTableModel(rs));
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}                                       

【问题讨论】:

  • 使用JButtonActionListener 与使用JTextFieldActionListener 之间几乎没有区别
  • 考虑提供一个runnable example 来证明您的问题。这不是代码转储,而是您正在做的事情的一个例子,它突出了您遇到的问题。这将减少混乱并获得更好的响应
  • try { String sql = "selectbarcode,serv_descr,serv_amt,notes from service.services wherebarcode=?"; pst = conn.prepareStatement(sql); pst.setString(1, jTextField1.getText()); rs = pst.executeQuery(); Table_servicesale.setModel(DbUtils.resultSetToTableModel(rs)); } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex); }
  • 所以你的“主要”问题是依赖DbUtils 来完成你应该做的工作。 DbUtils 每次调用都会创建一个新的TableModel,这不是你想做的
  • 你好,这是我的代码。到目前为止,我只能在行上搜索和填充表格。但是当用户扫描条形码时,我想使用此搜索文本字段在 jtable 中插入许多行。请帮忙。

标签: java swing jtable jtextfield


【解决方案1】:

您应该通过表模型填充 jtable。看看这里:

https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data

您应该创建一个将实现 TableModel 接口的类。在本课程中,您将更新表格中的行数。

【讨论】:

    猜你喜欢
    • 2015-06-19
    • 2012-04-26
    • 2017-12-29
    • 1970-01-01
    • 2012-02-06
    • 2016-04-21
    • 1970-01-01
    • 2014-09-25
    • 2013-05-05
    相关资源
    最近更新 更多