1

我有一个带有“类别”列的表格,它是用 JComboBox 呈现的。该表保存项目费用,称为“费用表”。JComboBox 是这样创建的:JComboBox(new DefaultComboBoxModel())。

public class Expense {
  Tag category;
}

class Tag {
  String name;
}

我想自定义类别。所以我创建了一个表“类别”,用于向类别添加、删除可能的值。此表使用 TagTableModel 并对字段数据进行操作,其中包含 ArrayList 值。

class TagTableModel 
  extends AbstractTableModel {
    ArrayList<Tag> data;
    ...
}

一旦用户更改“类别”表中的值:添加类别、删除类别、编辑某行上的“名称”列,我希望 JComboBox 中的值也能更新。

有哪些方法可以让 JComboBox 依赖来自 TagTableModel 的值?

4

1 回答 1

1

谢谢@kleopatra 的想法 :)

我按照建议使用了 TableModelListener:created

public class CategoryTableModelListener 
    implements TableModelListener
{
    public void tableChanged(TableModelEvent e) 
    {
        /** here I get changed row and access object that was in this row and has changed */
    }
}
于 2013-07-24T20:35:25.593 回答