Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java tableModel.addRow()未显示JTable中的任何内容,但row对象具有值_Java_Mysql_Swing_Java 8_Jtable - Fatal编程技术网

Java tableModel.addRow()未显示JTable中的任何内容,但row对象具有值

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) {

我在swing中使用JTable来显示一个MySQL表,尽管表值在row对象中(如屏幕截图中的输出中)存在,但应用程序中的JTable是空的。 屏幕截图中的输出包含Object[]数组,但当我在addRow方法中传递它时,它不会在JTable GUI上显示任何内容

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数据来替换数据库。您在此处发布的代码没有给我们任何提示,您的错误在哪里。请创建一个,以便我们可以重现您的错误,并详细说明解决方案。