在 swing 中创建运行时 jtable

Posted

技术标签:

【中文标题】在 swing 中创建运行时 jtable【英文标题】:create runtime jtable in swing 【发布时间】: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 【参考方案1】:

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

【讨论】:

是的,甚至this ResultSetTableModel

以上是关于在 swing 中创建运行时 jtable的主要内容,如果未能解决你的问题,请参考以下文章

在 Java Swing 中创建两个标题(使用 TitledBorder)时 AddDocumentListener 的变量范围

如何完全擦除 Java Swing JTable 列及其数据?

以编程方式在Joomla中创建菜单项

Java Swing JTable 设置隔行变色

如何在运行时在 Hibernate 中创建数据库?

运行查询时如何在python中创建具有当前日期和时间的文件名