Salver agazzi,

ho creato vedendo i post precedenti un evento su una JTable quando un utente clicca su una riga col tasto destro appare un JPopupmenu.

Le opzioni che un utente ha sono Modifica, Cancella e Stampa....

ora su questa tabella ho implementato 2 eventi del mouse

doppio click e tasto destro

per prendere la riga sulla quale l'utente desidera fare operazioni procedo in questo modo

codice:
public void mouseClicked(MouseEvent me) {
          	  
            	TableExample2 t = (TableExample2)me.getSource();
            	int row = t.rowAtPoint(me.getPoint());
                int column = t.columnAtPoint(me.getPoint());
                if (me.getClickCount() == 2) {
                	//System.out.println("doppio click");
                    
                    riempiText(row, column); 
                }//fine if
}
ora faccio lo stesso anche per il tasto destro

codice:
if(me.getButton() == MouseEvent.BUTTON3) //tasto dx
                {
                  //  cancellaOperazione();
                	
                	
                	popup = new JPopupMenu();
                    menuItem = new JMenuItem("Modifica");
                    
                    menuItem.addActionListener( new ActionListener() {
     		           public void actionPerformed( ActionEvent e ) {
     		        	 // System.out.println() 
     		        	  riempiText2(row,column); 
     		           }//fine metodoVoid
     		        });//fine actionlistener 
                    popup.add(menuItem);
                   
                    MouseListener popupListener = new PopupListener(popup);
                    tableOperazioni.addMouseListener(popupListener);

                }}//fine else e if
ora il problema è che richiede che io dichiari come final la variabile row. In questo modo una volta che a row assegno un valore poi ogni volta che faccio tasto destro il valore rimane sempre quello e i risultati sono sbagliati

come posso fare?????