java - 如何使用jtable第一列中的复选框将数据库中的数据显示到jtable?

标签 java swing jtable

我知道如何填充 jtable 并且我已经为上面的代码准备了工作正常的代码。但问题是它在另一个项目中工作,但在我当前的项目中工作。两个项目的代码是相同的。这是代码... purchaswtab 是已经使用 Swing Palette 创建的表名称。该函数在 Item Master 退出按钮的情况下执行。 数组 ap 的数组元素被定义为我必须从结果集中的给定位置获取它们。

public void populatetable(ItemMaster imm)
{
    imm.dispose();
    String t[][]=new String [30][10];
    int[] ap={19,1,2,4,18,16,17};
    Object[] h1=new Object[7];
    String a1,a2;
    int j=0,i=1;
    int len=0;
    try
     {            
        st=fun.connect1();           

        String query="select * from Temp_Purchase";
        ResultSet rs=st.executeQuery(query);       

        ResultSetMetaData rsmd=rs.getMetaData();

        while(rs.next())
        {
            int k=0;
            for(i=1;i<=7;i++,k++ )
            {
                t[j][i-1]=rs.getString(ap[k]);
                System.out.println(t[j][i-1]);
            }
            j++;
            len++;
        }

        fun.close();
     }
    catch(Exception e)
    {
        fun.close();
        System.out.println("Exception:"+e);
    }

    DefaultTableModel de=(DefaultTableModel)purchaseTab.getModel();
    purchaseTab=new JTable(de);



    //Code for filling data into table

    for(i=0;i<len;i++)
    {
        for(j=1;j<=7;j++)
        {                
            h1[j-1]=t[i][j-1];
        }

        if(h1[0]=="0")
        {         
            h1[0]=Boolean.FALSE;         
        }
        de.insertRow(i,h1);            
    }
    //jsp.setViewportView(Table);
}

最佳答案

  • while(rs.next()) 中的 evetything 替换为 de.addRow(new Object[..., ..., ...]);

  • 您必须将 DefaultTableModel de 声明为局部变量,并在调用 fun 之前初始化

  • 然后将 DefaultTableModel de 传递给 JTable,例如myTable(de);myTable.setModel(de)

  • 使用Object[]代替String[]的限制,那么您可以store various data type in DefaultTableModel

关于java - 如何使用jtable第一列中的复选框将数据库中的数据显示到jtable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21045051/

相关文章:

java - 如何在 Swing 中创建立方体?

java - 在 swing/Java 中为自定义 DnD 设置 DragImage

java - Swing滚动表问题

java - fireTableRowsInserted( int , int ) 不起作用(需要重新打开 GUI)

java - 根据列值更改 JTable 行的背景颜色

java - 使用 jasmin 字节码汇编器创建的代码中出现 NullPointerException

java - 我们是否可以自动配置和运行网络服务器?

java - 从 Java 8 迁移到 Java 11 的单元测试失败了

java - 如果连接重新启动,则重新连接到数据库

java - 将表 JTable 中的空单元格读入数组