Tell me how to properly implement the setValue () method for editing a specific cell. Here is the table model code.
import java.util.ArrayList; import javax.swing.table.AbstractTableModel; public class CarTableModel extends AbstractTableModel{ private static final long serialVersionUID = 7613144437359017913L; private int columnCount = 4; private ArrayList<String[]> dataArrayList; public CarTableModel(){ dataArrayList = new ArrayList<String[]>(); for(int i=0; i<dataArrayList.size(); i++ ){ dataArrayList.add(new String[getColumnCount()]); } } @Override public int getRowCount() { return dataArrayList.size(); } @Override public int getColumnCount() { return columnCount; } @Override public String getColumnName(int columnIndex){ switch(columnIndex){ case 0: return "ID машины."; case 1: return "Марка машины."; case 2: return "Модель."; case 3: return "Номер машины."; } return ""; } @Override public Object getValueAt(int rowIndex, int columnIndex) { String []rows = dataArrayList.get(rowIndex); return rows[columnIndex]; } public void setValue(String newValue, int rowIndex, int columnIndex){ } public void addDate(String []row){ String []rowTable = new String[getColumnCount()]; rowTable = row; dataArrayList.add(rowTable); } public void removeRow(int row) { dataArrayList.remove(row); } }
dataArrayList.get(rowIndex)[columnIndex] = newValue? - zRrrsetValue, butsetValueAt(Object newValue, int rowIndex, int columnIndex)(use@Overrideannotation to catch such errors), thendataArrayList.get(rowIndex)[columnIndex] = String.valueOf( newValue ). Well,getColumnClassworth overriding. - zRrr