Когда я пытаюсь удалить последнюю строку в Jtble, она вызывает ошибку OutBound.Ошибка при удалении последней строки Jtable
здесь код, который реализует JTable & DefaultTable:
Vector<String> rowOne = new Vector<>();
rowOne.addElement("Harry");
rowOne.addElement("100414");
rowOne.addElement("21");
rowOne.addElement("239438");
rowOne.addElement("24/24/23");
rowOne.addElement("30000");
Vector<String> rowTwo = new Vector<>();
rowTwo.addElement("Gordon");
rowTwo.addElement("34353");
rowTwo.addElement("25");
rowTwo.addElement("2538");
rowTwo.addElement("24/24/23");
rowTwo.addElement("20000");
Vector<Vector> rowData = new Vector<>();
rowData.addElement(rowOne);
rowData.addElement(rowTwo);
columnNames = new Vector<>();
columnNames.addElement("Name");
columnNames.addElement("Cc");
columnNames.addElement("Age");
columnNames.addElement("Phone");
columnNames.addElement("Date");
columnNames.addElement("Amount");
DefaultTableModel model = new DefaultTableModel(rowData, columnNames);
Jtable table = new JTable(model);
Вот код удаления:
else if (e.getActionCommand().equals("deleteClient"))
{
if(table.getSelectedRow() != -1)
{
DefaultTableModel tModel1 = (DefaultTableModel) table.getModel();
int seletedRow = table.getSelectedRow();
tModel1.removeRow(seletedRow);
}
Ошибка генерируется только при удалении строки последнего для JTable, когда я удалить Diferent строка как первая или средняя, ошибка не возникает, как я могу ее решить?
ли вы подтвердить свой индекс? Вы отобразили номер выбранной строки? Вы отображали количество строк в модели? Если он работает для других строк, он будет работать и для последней строки. Ниже приведен рабочий пример, который позволяет удалить 1 (или более) выбранные строки: http://stackoverflow.com/questions/37417494/how-do-i-make-swing-delete-an-entry-from-a- table-by-select-rows-and-click/37419226 # 37419226 – camickr
Что означает u, если отобразить выбранный номер строки? – Cohen
Как я упомянул, он отлично работает для всех строк, за исключением последнего, не знаю почему. – Cohen