gpt4 book ai didi

java - 如何从 SQLite 的 netbeans 中的文本字段动态过滤 jTable?

转载 作者:行者123 更新时间:2023-12-02 04:04:00 27 4
gpt4 key购买 nike

我对此很陌生,请原谅我缺乏知识。

我正在使用 SQLite 创建文档管理器数据库,并且尝试让我的 JTextField KeyReleased 搜索动态更新并在我键入时过滤我的 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 事件(显然我知道)。

private void txt_filterKeyReleased(java.awt.event.KeyEvent evt) {                                       
// TODO add your handling code here:

}

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

我只是不知道从哪里开始,所以我们将不胜感激。

最佳答案

首先阅读关于 Sorting and Filtering 的 Swing 教程中的部分一个完全符合您要求的工作示例。

我建议您为目录添加书签,以便快速引用基本的 Swing 功能。

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

关于java - 如何从 SQLite 的 netbeans 中的文本字段动态过滤 jTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com