Java 在AbstractTableModel中显示MySQL数据库中的数据

Java 在AbstractTableModel中显示MySQL数据库中的数据,java,mysql,abstracttablemodel,Java,Mysql,Abstracttablemodel,我正在努力找出如何使用Netbeans将MySQL数据库中的数据添加到表模型(扩展了AbstractTableModel)。目前,我可以检索数据并将其显示在Netbeans输出窗口中,但就我而言,我似乎无法在我的表模型中显示它!我在2D对象数组中硬编码了一些虚拟数据,显示起来没有任何麻烦。谁能…谁能告诉我如何才能做到这一点。提前谢谢 switch (button) { case "All": try { String sq

我正在努力找出如何使用Netbeans将MySQL数据库中的数据添加到表模型(扩展了AbstractTableModel)。目前,我可以检索数据并将其显示在Netbeans输出窗口中,但就我而言,我似乎无法在我的表模型中显示它!我在2D对象数组中硬编码了一些虚拟数据,显示起来没有任何麻烦。谁能…谁能告诉我如何才能做到这一点。提前谢谢

switch (button) {

        case "All":
            try {
                String sql = "SELECT * FROM Employee";
                ResultSet rs = st.executeQuery(sql);

                while(rs.next()) {
                   String eid = rs.getString(1); 
                   String efname = rs.getString(2); 
                   String elname = rs.getString(3); 
                   String etype = rs.getString(4);

                   MyEmployeeTableModel model = new MyEmployeeTableModel();
                   model.getData(eid, efname, elname, etype);
                }

                scrollpane.setVisible(true);

            } catch (Exception ex) {}                
            break;
类MyEmployeeTableModel扩展了AbstractTableModel{

String eid;
String efname;
String elname;
String etype;

public void getData(String eid, String efname, String elname, String etype) {
    this.eid = eid;
    this.efname = efname;
    this.elname = elname;
    this.etype = etype;

    printDetails();
}

public void printDetails() {
    System.out.println("ID: " + eid + ", " + "Firstname: " + efname + ", " + "Lastname: " + elname + ", " + "Type: " + etype);
}

String[] columnNames = {"ID", "Firstname", "Lastname", "Type"};

Object[][] data = {
    {"101", "Joe", "Blogs", "Other"},
    {"102", "Mary", "Jane", "Salesperson"},
    {"103", "John", "Doe", "Other"},
    {"104", "Kathy", "Bates", "Other"},
    {"105", "Jim", "Beam", "Salesperson"},
    {"106", "Sue", "Black", "Other"},
    {"107", "James", "White", "Other"},
    {"108", "John", "Brown", "Salesperson"},
    {"109", "Martha", "Smith", "Other"},
    {"110", "Lisa", "McDonald", "Salesperson"}
};

您的问题中没有包含
getValueAt
方法,但是,正如我所怀疑的,如果它只是从
data
返回元素,而您从未更改该数组,那么JTable的行从未更改也就不奇怪了。有没有办法将我的eid、efname、elname和etype变量添加到数据数组中,以便在Jtable行中显示它,还是我用了错误的方法?数组无法调整大小。您需要使用列表实现,例如。