Foros del Web » Programación para mayores de 30 ;) » Java »

Click derecho en JList

Estas en el tema de Click derecho en JList en el foro de Java en Foros del Web. Buenas, yo otra vez. Tengo un dilema que me esta liando mucho. explico : Tengo un JList en el cual deseo que al hacewr click ...
  #1 (permalink)  
Antiguo 07/02/2012, 12:26
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Click derecho en JList

Buenas, yo otra vez.

Tengo un dilema que me esta liando mucho.

explico : Tengo un JList en el cual deseo que al hacewr click derecho se seleccione el elemento que este donde se hizo click.

Objetivo : Crear un JPopUpMenu con opciones segun elemento clickeado.

Buscque en google y dentro del foro, pero ambos llegaron a lo mismo.
[URL="http://www.forosdelweb.com/f45/seleccionar-con-click-derecho-jlist-745844/"]seleccionar-con-click-derecho-jlist -> Foros del Web/[/URL]

Agradesco su ayuda

PD : no quise revivir el post muerto, por eso abri este :P
  #2 (permalink)  
Antiguo 09/02/2012, 14:44
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Click derecho en JList

Tienes que utilizar el JPopupMenu y la interfaz MouseListener y un método que tiene JList llamado locationToIndex que te devuelve el elemento de la lista más cercano al punto en el que has presionado.

Te dejo un ejemplo no completo de como podría ser (mezclando cosas de varios sitios, entre ellos: http://chuwiki.chuidiang.org/index.p..._un_JComponent y http://www.rgagnon.com/javadetails/java-0393.html


Código Java:
Ver original
  1. JList lista = new JList();
  2.  
  3. //Rellenamos la lista con lo que sea
  4.  lista.addMouseListener(new MouseListener() {
  5.  
  6.             @Override
  7.             public void mouseReleased(MouseEvent e) {
  8.                 muestraMenu(e);
  9.             }
  10.  
  11.             /**
  12.              * Método que muestra el menú.
  13.              *
  14.              * @param e
  15.              */
  16.             private void muestraMenu(MouseEvent me) {
  17.                 // isPopupTrigger() indica si es el evento de raton
  18.                 // por defecto en el sistema operativo para mostrar
  19.                 // el menu.
  20.                             boolean isPopUp = me.isPopupTrigger();
  21.                            
  22.                 if ( isPopUp) {
  23.                                    
  24.                                     int index= lista.locationToIndex(me.getPoint());
  25.                                    
  26.                                     if (index !=-1){
  27.                                lista.setSelectedIndex(lista.locationToIndex(me.getPoint()));                   
  28.                     //Todo esto de debajo se puede poner en otro método si se quiere
  29. //Tienes que borrar antes los elementos que hubiese en el popup
  30.                     popup.removeAll();
  31. //Añades, por ejemplo, el nombre del elemento seleccionado como elemento del popup
  32.                                         popup.add((String)lista.getSelectedValue());
  33.                                        
  34.                     popup.setLocation(me.getLocationOnScreen());
  35.                     popup.setVisible(true);
  36.                                     }
  37.                 }
  38.             }
  39.  
  40.             @Override
  41.             public void mousePressed(MouseEvent e) {
  42.                 muestraMenu(e);
  43.             }
  44.  
  45.             @Override
  46.             public void mouseExited(MouseEvent e) {
  47.                 muestraMenu(e);
  48.             }
  49.  
  50.             @Override
  51.             public void mouseEntered(MouseEvent e) {
  52.                 muestraMenu(e);
  53.             }
  54.  
  55.             @Override
  56.             public void mouseClicked(MouseEvent e) {
  57.                 muestraMenu(e);
  58.             }
  59.  
  60.         });


Es solo un ejemplo, pero se puede mejorar.
  #3 (permalink)  
Antiguo 12/02/2012, 02:14
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Click derecho en JList

jojo...perdon por responder tan tarde...pero pence que este post no lo habia enviado...xD

no se si sere muy burro o que , pero no entendi el ejemplo...xD

pero tratare de entenderlo...



PD: me ayudan con esta..que es mas importante que este del Jlist :D

http://www.forosdelweb.com/f45/java-bd-problema-algo-raro-975283/

agradesco su ayuda :D
mil gracias.

Etiquetas: derecho, jlist
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:06.