Java tableModel.addRow()未显示JTable中的任何内容,但row对象具有值
我在swing中使用JTable来显示一个MySQL表,尽管表值在row对象中(如屏幕截图中的输出中)存在,但应用程序中的JTable是空的。 屏幕截图中的输出包含Object[]数组,但当我在addRow方法中传递它时,它不会在JTable GUI上显示任何内容Java tableModel.addRow()未显示JTable中的任何内容,但row对象具有值,java,mysql,swing,java-8,jtable,Java,Mysql,Swing,Java 8,Jtable,我在swing中使用JTable来显示一个MySQL表,尽管表值在row对象中(如屏幕截图中的输出中)存在,但应用程序中的JTable是空的。 屏幕截图中的输出包含Object[]数组,但当我在addRow方法中传递它时,它不会在JTable GUI上显示任何内容 private void tableSubmitButtonActionPerformed(java.awt.event.ActionEvent evt) {
private void tableSubmitButtonActionPerformed(java.awt.event.ActionEvent evt) {
//fetch the name of the database to be created
String dbName = tableDBName.getText();
//fetch the root password
String password = new String(tableDBPass.getPassword());
// fetch table name
String tableName = tableTableName.getText();
DefaultTableModel tableModel = (DefaultTableModel)tableViewTable.getModel();
int rowCount = tableModel.getRowCount();
for(int i = 0; i<rowCount; i++){
tableModel.removeRow(0);
}
try{
// create connection
CreateConnection newCon = new CreateConnection();
Statement newStat = newCon.initiate(dbName, password);
// result set contains the data fetched from the MySQL table
ResultSet rs = newStat.executeQuery("select * from "+tableName);
// get column names and column count
ResultSetMetaData metaData = rs.getMetaData();
int n_columns = metaData.getColumnCount();
ArrayList<String> columnNames = new ArrayList<>();
for(int i = 1; i<=n_columns; i++){
columnNames.add(metaData.getColumnName(i));
}
while(rs.next()){
ArrayList row = new ArrayList(n_columns);
for(int i = 1; i<=n_columns; i++){
row.add(rs.getObject(i));
}
Object[] obj = row.toArray();
tableModel.addRow(obj);
System.out.println("table updated..: "+Arrays.toString(obj));
}
}catch(SQLException e){
System.out.println(e.getMessage());
}
}
private void表SubmitButtonActionPerformed(java.awt.event.ActionEvent evt){
//获取要创建的数据库的名称
字符串dbName=tableDBName.getText();
//获取根密码
字符串密码=新字符串(tableDBPass.getPassword());
//获取表名
字符串tableName=tableTableName.getText();
DefaultTableModel tableModel=(DefaultTableModel)tableViewTable.getModel();
int rowCount=tableModel.getRowCount();
对于(int i=0;i
因此,您从一个空的TableModel开始,这意味着该模型没有列或行
因此,即使您调用addRow()方法,您的模型也没有列,因此JTable中没有显示任何内容
ArrayList<String> columnNames = new ArrayList<>();
for(int i = 1; i<=n_columns; i++){
columnNames.add(metaData.getColumnName(i));
}
ArrayList columnNames=新建ArrayList();
对于(int i=1;i
因此,您从一个空的TableModel开始,这意味着该模型没有列或行
因此,即使您调用addRow()方法,您的模型也没有列,因此JTable中没有显示任何内容
ArrayList<String> columnNames = new ArrayList<>();
for(int i = 1; i<=n_columns; i++){
columnNames.add(metaData.getColumnName(i));
}
ArrayList columnNames=新建ArrayList();
对于(int i=1;如果要更好地帮助我们,请尽快添加或.Hard code数据来替换数据库。您在此处发布的代码没有给我们任何提示,您的错误在哪里。请创建一个,以便我们可以重现您的错误,并详细说明解决方案。为了更好地帮助我们,请尽快添加或.Hard code数据来替换数据库。您在此处发布的代码没有给我们任何提示,您的错误在哪里。请创建一个,以便我们可以重现您的错误,并详细说明解决方案。