2012-08-17 78 views
0

我是JTable的新手。我已经动态创建了一个JTable,我不知道如何从该动态JTable获取数据。如何从动态创建的JTable中获取值

JTable创建于匿名类内的MouseListener内的匿名类中。我无法访问匿名类之外的JTable。

+2

你需要监听的那个表_outside_参考。无论如何,最好不要在每次数据更改时重新创建表格,而是更新其模型。请务必阅读并理解swing标签 – kleopatra 2012-08-17 13:09:31

+1

中引用的教程中的相关章节“问题是JTable是在匿名类中的MouseListener内部创建的。”停止这样做并且没有问题......如果将它声明为包含MouseListener的类的成员,那么MouseListener仍然可以访问它。 – 2012-08-17 13:28:49

回答

3

数据驻留在TableModel中;要获得此信息,请致电getModel()
然后您使用getValueAt(int,int)来获取特定单元格的值。

你说你只能访问匿名类中的JTable。
所以JTable的范围就是匿名类。您应该将JTable作为封闭类的字段,而不是在匿名类中声明JTable。然后你可以访问它。

+0

问题是JTable是在匿名类内的MouseListener中创建的。行数将根据所需行的用户输入而变化。我无法访问匿名类之外的JTable。 – user1606826 2012-08-17 12:17:35

+0

我编辑了你的问题来反映这一点。在[SO]上,我们可以做到这一点 - 但最好是自己做。 – 2012-08-17 12:23:44

2
+0

问题是JTable是在一个匿名类内的MouseListener中创建的。行数将根据所需行的用户输入而变化。我无法访问匿名类之外的JTable。 – user1606826 2012-08-17 12:18:14

+0

您将需要在成员变量中声明JTable。只需更新模型,而不是每次重新创建表格。 – Reimeus 2012-08-17 12:23:00

相关问题