How to operate data in JTable public boolean isRecordSelected() { return masterTable.getSelectedRow() != -1; } @Action public void newRecord() { desktopapplicationdbtest.Car c = new desktopapplicationdbtest.Car(); entityManager.persist(c); list.add(c); int row = list.size()-1; masterTable.setRowSelectionInterval(row, row); masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true)); setSaveNeeded(true); } @Action(enabledProperty = "recordSelected") public void deleteRecord() { int[] selected = masterTable.getSelectedRows(); List<desktopapplicationdbtest.Car> toRemove = new ArrayList<desktopapplicationdbtest.Car>(selected.length); for (int idx=0; idx<selected.length; idx++) { desktopapplicationdbtest.Car c = list.get(masterTable.convertRowIndexToModel(selected[idx])); toRemove.add(c); entityManager.remove(c); } list.removeAll(toRemove); setSaveNeeded(true); }