java - 在一定的超时后清除 JTextfields

标签 java swing

我有一个程序可以通过输入条形码来检查价格。我希望在读取第一个条形码后自动清除条形码字段。它应仅将输入的信息保留 5 秒钟,然后清除以进行下一个输入。

这是我的代码,我正在使用JFrame。它运行良好,但需要一些帮助来了解如何为每个条目的 session 计时。

private void txt_barcodeKeyReleased(java.awt.event.KeyEvent evt) {
    try {
        String sql = "select * from items where barcode=?" ;
        pst = conn.prepareStatement(sql);
        pst.setString(1, txt_barcode.getText());

        rs = pst.executeQuery();
        if (rs.next()) {
            String add1 = rs.getString("item_des");
            txt_description.setText(add1);
            String add2 = rs.getString("retail1");
            txt_price.setText(add2);
        }
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}

最佳答案

使用延迟 5 秒的计时器,并将 ActionPerformed 设置为在 JTextField 上调用 .setText("")。

http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html

关于java - 在一定的超时后清除 JTextfields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28262232/

相关文章:

java - 如何用JAXB读写XML元素 "as is"?

java - 自动调整大小的 JFrame 容器

java - 单击时 JList 值发生变化

java - 以最大化方式启动 JEditorPane

java - 从 jTable 中删除未使用的行

java - Java如何统计点击次数?

Java 并发数 : is final field (initialized in constructor) thread-safe?

java - 从 scala 访问 Java 字段注释

java - 使用 dojo ajax 填充下拉列表

java - 如何防止用户在MDI窗口中打开多个JPanel?