我想在AbstractTableModel的表中動態添加行。行正在循環中添加。當第二行被添加時,第一行的值在表中顯示爲空。程序的設計方式使行值得到刷新,但僅供用戶查看,我如何保持表中的值,因爲它沒有被刷新爲空值。Java AbstractTableModel動態填充行
爲什麼表總是刷新第一行的表格渲染?有沒有辦法只渲染下一行而不重印第一行中已經打印的內容。
這裏是我的代碼的某些部分:
public class RunConfig extends AbstractTableModel {
private final LinkedList<Section> daten = new LinkedList<Section>();
private String[] header = {"Links","% N", "% M", "% H", "% S"};
public RunConfig() {
}
public void addElement(Section addValue)
{
daten.add(addValue);
fireTableRowsInserted(daten.size()-1, daten.size()-1);
}
public int getColumnCount() {
return header.length;
}
public String getColumnName(int col) {
return header[col];
}
public Object getValueAt(int row, int col) {
return ((Section)daten.get(row));
}
public int getRowCount() {
return daten.size();
}
public boolean isCellEditable(int row, int col){
return false;
}
}
'Section'看起來像什麼?另外,'getValueAt'應該返回指定單元格(行/列)的值而不是表示行的對象... – MadProgrammer
考慮提供一個[可運行示例](https://stackoverflow.com/help/mcve)其中演示你的問題。這不是代碼轉儲,而是您正在做的事情的一個例子,它突出了您遇到的問題。這將導致更少的混淆和更好的響應 – MadProgrammer
「*爲什麼表總是刷新第一行的表格渲染?是否有方法只渲染下一行而不重印第一行中已打印的內容。」* - ' JTable'經過大量優化以減少大量行的繪製開銷。因爲這是繪畫的工作原理,所以不可能不繪製出現更新的可視區域。它試圖做的不是繪製不可見的表格區域 – MadProgrammer