Selecionar fila de un Jtable con el boton derecho del mouse a la ves que se llama al menu contextual en java

Tenia una aplicación donde seleccionaba las filas con el botón izquierdo y llamaba al menú contextual con el botón derecho, pero me dije eso no es muy amigable para el usuario, entonces procedí a buscar información y me encontré que en java también se puede seleccionar con el boton derecho al mismo tiempo que se llama al menu contextual.

public class PnlTabla extends javax.swing.JPanel{
private JTable tblConsulta
private PopConsulta popConsulta 
public PnlTabla(){
 initpnlTabla()
}
private void initpnlTabla(){
    tblConsulta = new JTable(); 
    popConsulta = new PopConsulta();
    tblConsulta.addMouseListener(new LtrPputable());
    add(tblConsulta);
}

 class LtrPputable extends  MouseAdapter {
       @Override
       public void mousePressed(java.awt.event.MouseEvent evt) {
         showPopMenu(evt);
        }
        @Override
        public void mouseReleased(java.awt.event.MouseEvent evt) {
          showPopMenu(evt);
        }
        private void showPopMenu(java.awt.event.MouseEvent evt){
        if(evt.isPopupTrigger()){
           int punto = tblConsulta.rowAtPoint(evtMouse.getPoint());
        if (punto >= 0 && punto < tblConsulta.getRowCount())
            {tblConsulta.setRowSelectionInterval(punto, punto);}
            popConsulta.show(tblConsulta, evt.getX(),evt.getY());
       }
 }
 
   class PopConsulta extends JPopupMenu{
        private    JMenuItem             itm1,itm2,itm3;

        public PopupConsulta(){
            initPopu();
        } 

       private void initPopu(){
        itm1          =new JMenuItem("Primero");
        itm2         =new JMenuItem("Segundo");
        itm3          =new JMenuItem("Tercero");
 add(itm1);
 add(itm2);
 add(itm3);
 }
 }            
}

 

Este es el código general depende de ustedes hacerlo mas fino y mas llamativo, como veran es un JPanel el cual podran agregar a un contenedor como un Jframe…..

 

Anuncios