1

JComboBoxでレンダリングされる「カテゴリ」列を持つテーブルがあります。このテーブルはアイテム経費を保持し、「経費テーブル」と呼ばれます。JComboBox は次のように作成されます: JComboBox(new DefaultComboBoxModel())。

public class Expense {
  Tag category;
}

class Tag {
  String name;
}

カテゴリーをカスタマイズしたかった。そこで、カテゴリに可能な値を追加、削除するためのテーブル「カテゴリ」を作成しました。このテーブルは TagTableModel を使用し、ArrayList 値を保持するフィールド データを操作します。

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

ユーザーが「Categories」テーブルの値を変更すると、カテゴリの追加、カテゴリの削除、一部の行の列「Name」の編集、JComboBox の値も更新されます。

JComboBox を TagTableModel の値に依存させるにはどのような方法がありますか?

4

1 に答える 1

1

アイデアをありがとう@kleopatra :)

私は提案されたように TableModelListener を使用しました:

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 に答える