JAVA 里Jtable隐藏行方法
请问如何隐藏表格的某行,但后台数据不变化??设置行高为1太难看了。我用的是AbstractTableModel{}...
请问如何隐藏表格的某行,但后台数据不变化??设置行高为1太难看了。我用的是AbstractTableModel{}
展开
1个回答
2015-01-29
展开全部
你好,遇到这种问题,我的解决办法是继承AbstractTableModel写一个属于自己的tablemodel,在自己的tablemodel里面加入 (T是你在model里面需要显示的数据的类型)
public List<T> getTableData(){
return data;
}
public void setTableData(List<T> data){
this.data = data;
this.fireTableDataChanged();
}
这两个方法,在控制类里加入
public void updateTableData(List<T> data){
model.setTableData(data);
table.updateUI();
}
方法,控制类里面保存了后台的所有数据,当需要显示某些数据时,将要显示的数据传入updateTableData()方法就行了,要获得所有的数据,也可以直接通过后台类的
public List<T> getData() {
return data;
}方法
如果说的不清楚的地方可以继续问,望采纳
public List<T> getTableData(){
return data;
}
public void setTableData(List<T> data){
this.data = data;
this.fireTableDataChanged();
}
这两个方法,在控制类里加入
public void updateTableData(List<T> data){
model.setTableData(data);
table.updateUI();
}
方法,控制类里面保存了后台的所有数据,当需要显示某些数据时,将要显示的数据传入updateTableData()方法就行了,要获得所有的数据,也可以直接通过后台类的
public List<T> getData() {
return data;
}方法
如果说的不清楚的地方可以继续问,望采纳
更多追问追答
追问
这样做是不是每次要显示的不一样的话,就得重新做一个List data ,然后送到updateTableData()方法里显示??
还有就是若在界面更改一个值后怎么更新后台数据呢?
追答
你将需要显示的数据从data里面取出来放到一个新的List里面,传入updateTableData();这些你需要显示的数据就能够显示出来了,如果你修改页面上的数据,其实是修改了model里面的data,其实也就是修改了data集合里面的对象,相当于直接更新了后台数据
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询