Estoy tratando de mostrar un menu al hacer click a los elementos de una lista, pero no lo consigo, creo que estoy haciendo algo mal
Pasteo el código para que lo veáis
Código:
import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; public class MainClass { private static JPopupMenu popup; public static void main(final String args[]) { final String labels[] = { "A", "B", "C", "D", "E" }; JFrame frame = new JFrame("JList"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JList jlist = new JList(labels); JScrollPane scrollPane1 = new JScrollPane(jlist); frame.add(scrollPane1); popup = new JPopupMenu(); popup.add(new JMenuItem("uno")); popup.add(new JMenuItem("dos")); MouseListener mouseListener = new MouseAdapter() { public void mousePressed(MouseEvent mouseEvent) { JList theList = (JList) mouseEvent.getSource(); int index = theList.locationToIndex(mouseEvent.getPoint()); if (index >= 0) { Object o = theList.getModel().getElementAt(index); if (mouseEvent.isPopupTrigger()) { popup.show(mouseEvent.getComponent(), mouseEvent.getX(), mouseEvent.getY()); } } } }; jlist.addMouseListener(mouseListener); frame.setSize(350, 200); frame.setVisible(true); } }
Un saludo y gracias de antemano