Java 是否可以在abstractTableModel上重载getValueAt方法?
我正在制作一个使用arrayList进行数据填充的JTable。我在arrayList中有两组数据。一个用于一种表类型,另一个用于另一种表类型 我希望做的是在abstractTableModel上重载getValueAt方法,以便它接受我想要的数据集的参数Java 是否可以在abstractTableModel上重载getValueAt方法?,java,jtable,abstracttablemodel,Java,Jtable,Abstracttablemodel,我正在制作一个使用arrayList进行数据填充的JTable。我在arrayList中有两组数据。一个用于一种表类型,另一个用于另一种表类型 我希望做的是在abstractTableModel上重载getValueAt方法,以便它接受我想要的数据集的参数 这是可能的,还是我应该换一种方式来考虑呢?没有人阻止你重载这个方法。只是JTable代码不会调用您的新方法。您必须覆盖常规的公共对象getValueAt(int-rowIndex,int-columnIndex),并根据您的业务逻辑从内部调用
这是可能的,还是我应该换一种方式来考虑呢?没有人阻止你重载这个方法。只是
JTable
代码不会调用您的新方法。您必须覆盖常规的公共对象getValueAt(int-rowIndex,int-columnIndex)
,并根据您的业务逻辑从内部调用另一个方法。您可以这样做,但问题是Swing组件中当前调用此方法的人不会调用已加载的方法:)
这没有多大用处
在我看来,您基本上有两个选项,因为您需要在两种不同的表类型中显示特定数据:
- 要么我选择两种不同的表模型,并将所有数据分开
- 或者另一种方法可能是在模型上有一些特定的标志(新字段),这将指示您在其中使用它的表。这一个可以由setter设置,也可以直接在构造函数中设置,前提是您知道选择哪种类型
但是,从我的观点来看,第一个建议是一个推荐的方式。
< P>没有被接受的答案是错误的,但是也要考虑第二个<代码> TabLimoDele[/Cult],它与第一个共享了对给定的<代码>列表< /代码>的引用。一个JTable
可以通过调用setModel()
来显示任一模型
在这种情况下,EnvDataModel
通过System.getenv()
获取its数据。PropDataModel
可以通过System.getProperties()
获取its数据。两者共享对系统的访问权限
TableModel first = new EnvDataModel();
TableModel second = new PropDataModel();
JTable table = new JTable(fisrt);
...
table.setModel(second);