|
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.
|