Java - crear pop up sobre una lista

   
Vista:

crear pop up sobre una lista

Publicado por alejandro (65 intervenciones) el 03/06/2008 12:44:39
Saludos compañeros, tengo un lista, JList, y un ScrollPane sobre ella, JScrollPane sc_pos=new JScrollPane(lista); y quiero hacer un pop up, de manera que al pinchar sobre ella con el boton derecho salga un menu para lo tipico de cortar y pegar texto. El pop up menu creo que lo tengo bien, pero me falla el asociarlo al area determinada, que tengo que hacerlo sobre la lista o sobre el scroll pane ???

El codigo que tengo es (lo que mas me importa es la ultima parte, lo de los actionListener):

JPopupMenu pop=new JPopupMenu();
JMenuItem cortarpop,copiarpop,pegarpop;
JSeparator separador =new JSeparator();
copiarpop=new JMenuItem("Copiar");
copiarpop.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK));
pop.add(copiarpop);
pop.add(separador);
cortarpop=new JMenuItem("Cortar");
cortarpop.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK));
pop.add(cortarpop);
pop.add(separador);
pegarpop=new JMenuItem("Pegar");
pegarpop.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK));
pop.add(pegarpop);

sc_pos.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent ev){
areaMousePressed(ev);
} });

void areaMousePressed(MouseEvent ev){
boolean textoSeleccionado=sc_pos.getSelectedText()!=null;
cortarpop.setEnabled(textoSeleccionado);
copiarpop.setEnabled(textoSeleccionado);
if(ev.getButton()==MouseEvent.BUTTON3)
pop.show(sc_pos,ev.getX(),ev.getY());
} });

Por favor, alguien podria ayudarme ?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear pop up sobre una lista

Publicado por Yamil Bracho (2074 intervenciones) el 03/06/2008 19:36:20
Asocia un MouseListener a la lista.
Puedes ver un ejemplo en http://coding.derkeiler.com/Archive/Java/comp.lang.java.gui/2005-12/msg00289.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar