在 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 的变量范围