【问题标题】:create runtime jtable in swing在 swing 中创建运行时 jtable
【发布时间】:2013-01-03 11:20:42
【问题描述】:

我想创建 JTable 运行时。它应该绑定数据库表中的数据。 例如,我想显示 empmaster 表中所有员工的列表,并且应该根据表 empmaster 中的行和列动态生成行和列。对于静态表创建,我使用以下代码。

  try
{

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection con=DriverManager.getConnection("jdbc:odbc:dsn");
  Statement st=con.createStatement();
  ResultSet rs=st.executeQuery("select * from empmaster");
  ResultSet rs1=st.executeQuery("select * from empmaster");
  String title[]={"empcode","empname"};
   int c=0;
   while(rs.next())
   { 
   c++;

   }
   Object obj[][]= new Object[c][2];
   JTable table= new JTable(obj,title);
   JScrollPane jsp= new JScrollPane(table);
   add(jsp);
   int i=0;
   while(rs1.next())
    {
     table.setValueAt(rs.getString("empcode"),i,0); 
     table.setValueAt(rs.getString("empname"),i,1); 

     }
    }
     catch(Exception ex 
    {

     ex.printStackTrace();
    }

【问题讨论】:

  • 1) 对代码块使用一致且符合逻辑的缩进。代码的缩进是为了帮助人们理解程序流程。 2)在启动时创建表,但稍后更新模型。 3) 为了尽快获得更好的帮助,请发帖SSCCE
  • 顺便说一句,您的代码无法编译(缺少变量、括号、重复声明等...)
  • 安德鲁如何在不传递行数和列数的情况下创建表
  • @Adeshsingh 只需调用TableModel model = new DefaultTableModel(); JTable table = new JTable(model);,然后再将列和行添加到model。您还可以决定使用ResultSetTableModel 而不是DefaultTableModel

标签: java swing jdbc jtable awt


【解决方案1】:

使用this 创建TableModel 并将模型设置为现有的JTable

【讨论】:

猜你喜欢
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
相关资源
最近更新 更多