私は空のTableModelを持っています。このモデルを JTable に設定すると、行がありません。ユーザーがコンボボックスエディターで値を選択できる空の行を1つ作成したいと思います。ユーザーが null 以外の値を選択すると、2 行目が追加され、モデルに 1 つのオブジェクトが作成されます。モデルにこの行のオブジェクトがない場合、空の行を追加するにはどうすればよいですか?
2 に答える
4
TableModel はあなたの友達です。値を設定した後に行を追加するには、その setValueAt メソッドを実装します。DefaultTableModel をサブクラス化してこれを行う例を次に示します。
DefaultTableModel model = new DefaultTableModel(1, 3) {
/**
* @inherited <p>
*/
@Override
public void setValueAt(Object aValue, int row, int column) {
super.setValueAt(aValue, row, column);
if (shouldAddRow(row, column)) {
addRow(new Object[] {});
}
}
private boolean shouldAddRow(int lastEditedRow, int lastEditedColumn) {
// implement your logic here
return lastEditedRow == getRowCount() -1;
}
};
于 2011-10-25T07:20:39.643 に答える
2
I want to create one empty row, where user can select value in combo box editor.
それは空の行ではなく、
JTable Cell に null 値を追加できます。詳細については、JTableおよびJComboBox を Editor として使用するチュートリアル、および例はこちら
于 2011-10-25T07:18:59.030 に答える