Java 如何从SQLite动态筛选netbeans中textfield中的jTable?

Java 如何从SQLite动态筛选netbeans中textfield中的jTable?,java,swing,sqlite,netbeans-8,Java,Swing,Sqlite,Netbeans 8,我是个新手,请原谅我缺乏知识 我正在用SQLite创建一个文档管理器数据库,我正在尝试让我的JTextFieldkeyreased搜索动态更新,并在键入时过滤我的JTable,以显示所有匹配的结果 我被告知,JTable已经有了过滤功能,无需额外查询,但我能找到的只是autoCreateRowSorter,这不是我想要做的 下面是表连接的初始代码和更新表方法 import com.sun.glass.events.KeyEvent; import java.awt.HeadlessExcepti

我是个新手,请原谅我缺乏知识

我正在用SQLite创建一个文档管理器数据库,我正在尝试让我的
JTextField
keyreased搜索动态更新,并在键入时过滤我的
JTable
,以显示所有匹配的结果

我被告知,
JTable
已经有了过滤功能,无需额外查询,但我能找到的只是
autoCreateRowSorter
,这不是我想要做的

下面是表连接的初始代码和更新表方法

import com.sun.glass.events.KeyEvent;
import java.awt.HeadlessException;
import java.io.FileNotFoundException;
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
import java.text.MessageFormat;
import java.io.FileOutputStream;
import java.util.Date;

public class Employee_info extends javax.swing.JFrame {
Connection conn=null;
ResultSet rs =null;
PreparedStatement pst=null;

/**
 * Creates new form Employee_info
 */
public Employee_info() {
    initComponents();
    conn=javaconnect.ConnecrDb();
    Update_table();
    Fillcombo();
}

private void Update_table(){

try{
String sql ="select * from Documents";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
table_documents.setModel(DbUtils.resultSetToTableModel(rs));
table_documents.getColumnModel().getColumn(0).setPreferredWidth(50);
table_documents.getColumnModel().getColumn(1).setPreferredWidth(1);
table_documents.getColumnModel().getColumn(2).setPreferredWidth(300);
table_documents.getColumnModel().getColumn(3).setPreferredWidth(1);
table_documents.getColumnModel().getColumn(4).setPreferredWidth(150);
}
catch (Exception e){
    JOptionPane.showMessageDialog(null, e);

} finally {   
try{
 rs.close();
 pst.close();
 //conn.close();
}       
catch (Exception e) {
                }  
}
}
这是我的
JTextfild事件
(显然我知道)

我知道我的代码是粗糙的和基本的,所以道歉


我只是不知道从哪里开始,所以非常感谢所有和任何帮助。

首先阅读Swing教程中的部分,以获得一个完全符合您需要的工作示例

我建议您将目录添加到书签中,以便快速参考Swing的基本功能


此外,方法名称不应以大写字符开头,也不应在名称中包含“\”。遵循Java API使用的Java约定。

谢谢您的评论,我已经读过了,但一直在努力将过滤器实现到我的代码中。我不理解的主要部分是TableFilterDemo.java需要SpringUtilities.java。感谢您提醒我命名方法,我确实记得,但只是在我已经用这种方式命名了许多方法之后。@slinky62,
需要SpringUtilities.java
-该代码包含在教程中。但是,该类仅用于组件的布局,与过滤逻辑无关,因此不必担心它,只需关注过滤逻辑以及在text field.Hi中更改文本时如何调用过滤器。只是为了更新。。我通过将Update_Table方法字符串复制并修改为。。String sql=“从文档中选择*,其中的标题类似于“”+Title\u filter.getText()+“%”;我在我的KeyRelease方法中使用了它。最后没有使用tableRowSorter,因为这正是我想要的。谢谢你的帮助。@slinky62,
你可以把马牵到水边,但不能强迫马喝水。为什么不学习正确使用过滤呢?再一次,你有一个工作的例子可以学习!!!每次调用SQL语句都不是很有效。我应该更清楚。。。。我仍在考虑为任何最终构建实现tableRowSorter,但我所需要的只是一个用于演示的工作模型。本课程仅用于概念验证演示。您的建议对未来的建设有很大帮助,再次感谢。
private void txt_filterKeyReleased(java.awt.event.KeyEvent evt) {                                       
    // TODO add your handling code here:

}