package gui.models;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
public class CreateOptionsTableModel extends DefaultTableModel {
public CreateOptionsTableModel(Object[] objects, int i) {
super(objects, i);
this.addRow(new Object[]{""});
}
@Override
public boolean isCellEditable(int row, int column)
{
return true;
}
@Override
public void setValueAt(Object aValue, int row, int column)
{
//IF STRING
if(aValue instanceof String)
{
//CHECK IF NOT EMPTY
if(((String) aValue).length() > 0)
{
//CHECK IF LAST ROW
if(row == this.getRowCount()-1)
{
this.addRow(new Object[]{""});
}
super.setValueAt(aValue, row, column);
}
}
else
{
super.setValueAt(aValue, row, column);
//CHECK IF LAST ROW
if(row == this.getRowCount()-1)
{
this.addRow(new Object[]{""});
}
}
}
public List<String> getOptions()
{
List<String> options = new ArrayList<String>();
for(int i=0; i<this.getRowCount(); i++)
{
String option = String.valueOf(this.getValueAt(i, 0));
if(option.length() > 0)
{
options.add(option);
}
}
return options;
}
}