java - 从自定义 AbstractTableModel 添加/删除更多列到 JTable

标签 java swing jtable tablemodel abstracttablemodel

我有一个带有 HashMap 元素的 vector 。 我想把它放在一个表中,每个 HashTable 值都必须在具有 HashTable 键列标题的列中。 因此具有键“key1”的元素必须出现在名称为“key1”的表列中。

问题是,当我尝试使用setHash() 函数添加/删除表的列时。 我传递了一个包含更多/更少元素的 String[],当此函数运行 fireTableStructureChanged() 时,java 疯狂抛出。

我不明白问题出在哪里。你能帮帮我吗?

表模型的实现在这里:

public class ResizableTableModel extends AbstractTableModel {
  protected DataSource src;
  protected String[] hash;

  //......................

  public void setHash(String[] hash) {
        this.hash = hash;
        fireTableStructureChanged();  // THROWS!
  }

  public ArrayList getData() { return src.getData(); }
  public int getColumnCount() { return hash.length; }
  public int getRowCount() { return getData() == null ? 0 : getData().size(); }
  public String getColumnName(int col) { return hash[col]; }
  public boolean isCellEditable(int row, int col) { return true; }
  public Object getValueAt(int row, int col) {
    try {
      return ((HashMap) getData().get(row)).get(hash[col]);
    } catch (Exception e) {
      return null;
    }
  }
  public void setValueAt(Object obj, int row, int col) {
    try {
      //...................
    } catch (Exception e) {}
    fireTableDataChanged();
  }
}

最佳答案

关于java - 从自定义 AbstractTableModel 添加/删除更多列到 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15920170/

相关文章:

java - 如何按顺序组织随机值?

java - 从日期开始的日期 EXTRACT(DAY,s.date) 不起作用 jpa 和 eclipseLink

java - 将 JTree 选择绑定(bind)到外部集合?

javascript - 如何从 JOptionPane.showMessageDialog 读取

java - 从 SQL Server 成功检索数据后 JTable 为空

java - JTable RowFilter 显示错误的行

java - 如何解决 Netbeans 中缺少的 Java EE 服务器库

java - @PersistenceContext(unitName ="myPersistence") 无法启动我的 TomEE Web 服务器

java - HTML 触发 JTabbedPane 切换选项卡

java - 当 JTable 中的表失去焦点时,如何取消选择行?