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
ora faccio lo stesso anche per il tasto destrocodice: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 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 sbagliaticodice: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
come posso fare?????



Rispondi quotando