Java 在AbstractTableModel中显示MySQL数据库中的数据
我正在努力找出如何使用Netbeans将MySQL数据库中的数据添加到表模型(扩展了AbstractTableModel)。目前,我可以检索数据并将其显示在Netbeans输出窗口中,但就我而言,我似乎无法在我的表模型中显示它!我在2D对象数组中硬编码了一些虚拟数据,显示起来没有任何麻烦。谁能…谁能告诉我如何才能做到这一点。提前谢谢Java 在AbstractTableModel中显示MySQL数据库中的数据,java,mysql,abstracttablemodel,Java,Mysql,Abstracttablemodel,我正在努力找出如何使用Netbeans将MySQL数据库中的数据添加到表模型(扩展了AbstractTableModel)。目前,我可以检索数据并将其显示在Netbeans输出窗口中,但就我而言,我似乎无法在我的表模型中显示它!我在2D对象数组中硬编码了一些虚拟数据,显示起来没有任何麻烦。谁能…谁能告诉我如何才能做到这一点。提前谢谢 switch (button) { case "All": try { String sq
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行中显示它,还是我用了错误的方法?数组无法调整大小。您需要使用列表实现,例如。