我有一个创建修改项目表的表类。我想使用表模型在JTable中显示这些项目。对我来说,表模型属于我的GUI软件包,但是表需要表模型才能进行更改,而表模型需要表类才能显示它,因此我无法将两者分开。如果您需要这样做,您将使用什么类结构?还是我的思维顺畅,它们属于同一个包装?
最佳答案
TableModel
是适配器。我总是写表模型来扩展AbstractTableModel
并将其作为我的GUI面板类的私有内部类。您只需要填写一些方法:getRowCount
,getColumnCount
和getValueAt
您的GUI类应该可以访问某些控制器,该控制器可以在其中填充此信息。当控制器发现有关数据的更新时,它应该通知您的GUI类,然后可以调用AbstractTableModel.fireTableDataChanged
或其他适当的方法。
永远不要使用DefaultTableModel
类,因为这样一来,您必须使表模型的数据与控制器的数据保持同步。如我所说,表模型是一个适配器,它以JTable
可以理解的方式显示控制器的数据
关于java - Java表模型设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/166996/