Ciao a tutti,
sto lavorando su una Jtable.
ho relizzato un JPopupMenù che cliccando col tasto destro su una riga della mia JTable mi apre un menù e in esso vi è un sottomenù che prevede la cancellazione della riga.

Per la prima cancellazione va tutto a meraviglia, dalla seconda cancellazione in poi il sistema conincia a dare i numeri, comincia a cancellarmi 2 righe alla terza me ne cancella tre fino a quando ovviamente il sistema mi ritonerà un ArrayIndexOutOfBoundsException (ovviamente aggiungo io).

vi invio parte di codice per relizzare la cancellazione

codice:
//GuiFrame showPopup Method

private void showPopup(MouseEvent me) {
	if (pm.isPopupTrigger(me)) {
		java.awt.Point p = me.getPoint();
		int rowToDelete = jTable1.rowAtPoint(p);

		//potrei anche cancellare l'if ma per adesso lo mantengo
		if (rowToDelete != -1) {
                       //JPopupMenu
			pm.show(jTable1, p.x, p.y); 
			//JMenuItem
                        one.addActionListener(new PopupListener(tableModel, rowToDelete));
		
	
			}
		}
	}



codice:
//PopupListener

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class PopupListener implements ActionListener {
	private DefaultTableModel1 model;
	private int riga;
	
	public PopupListener(DefaultTableModel1 model, int riga){
		this.model=model;
		this.riga=riga;
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {		
		model.removeRow(riga);
		 
	}
}

Come mai mi succede questo?
Avevo provato anche a usare la SwingUtilities ma il problema rimane.

Grazie per ogni aiuto/consiglio.