我有一个创建修改项目表的表类。我想使用表模型在JTable中显示这些项目。对我来说,表模型属于我的GUI软件包,但是表需要表模型才能进行更改,而表模型需要表类才能显示它,因此我无法将两者分开。如果您需要这样做,您将使用什么类结构?还是我的思维顺畅,它们属于同一个包装?

最佳答案

TableModel是适配器。我总是写表模型来扩展AbstractTableModel并将其作为我的GUI面板类的私有内部类。您只需要填写一些方法:getRowCountgetColumnCountgetValueAt

您的GUI类应该可以访问某些控制器,该控制器可以在其中填充此信息。当控制器发现有关数据的更新时,它应该通知您的GUI类,然后可以调用AbstractTableModel.fireTableDataChanged或其他适当的方法。

永远不要使用DefaultTableModel类,因为这样一来,您必须使表模型的数据与控制器的数据保持同步。如我所说,表模型是一个适配器,它以JTable可以理解的方式显示控制器的数据

关于java - Java表模型设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/166996/

10-10 10:02