I have empty TableModel. When I set this model to JTable it hasn't rows. I want to create one empty row, where user can select value in combo box editor. If user selects not-null value, then second row added and I have one object in model. How can I add empty row, when there is not object for this row in model?
The TableModel is your friend: implement it's setValueAt method to add a row after setting the value. Here's an example for doing so by subclassing 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;
}
};