2010-07-29 63 views
2

我想显示传入数据包及其属性的表。 JTable是否允许我动态添加行?我能够更新视图的唯一方法是构造一个新的表格对象。将条目添加到JTable中

回答

2

是的,你可以操纵JTable的基础模型。该模型是数据保存的位置,并且由JTable针对不同的单元格内容进行查询。您可以通过使用JTable.setModel(...)或者通过实现您自己的TableModel并直接操作它的数据来操作模型,这是一个相当简单的任务,在Web上有很多教程。您只需确保在更改模型时更新了JTable,这可以通过JComponent.pack()或类似的方法轻松实现。

检查这里一些教程:

http://download-llnw.oracle.com/javase/tutorial/uiswing/components/table.html

http://www.javalobby.org/articles/jtable/

http://www.java2s.com/Code/Java/Swing-JFC/TableModelExample.htm

http://www.codetoad.com/java_JTable.asp

希望帮助...

1

您可以使用TableModel(例如派生自AbstractTabelModel),然后使用诸如fireTableRowsInserted之类的方法来告诉表底层数据已更改。

1

使用DefaultTableModel。它有像addRow(...),removeRow(...)等方法支持TableModel的动态更新。

如果您需要使用自定义TableModel,可以随时查看此类的源代码,以便正确使用fireXXX方法。