【发布时间】:2016-01-01 13:19:34
【问题描述】:
我有一个JTexTField,它搜索项目详细信息并在文本字段中输入条形码时使用keyReleased ActionListener 在JTable 中显示单行。
我的目标是通过这个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);
}
}
【问题讨论】:
-
使用
JButton和ActionListener与使用JTextField和ActionListener之间几乎没有区别 -
考虑提供一个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