Buonasera a tutti. Sono alle prime armi con le interfacce grafiche di Java.
Oggi, cercando di implementare un menu a comparsa quando clicco con il mouse, ho miseramente fallito.
Sapete spiegarmi dove e perchè sbaglio? Grazie
codice:import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.net.URL; import javax.swing.*; public class ActionCapiamoleDai{ private JFrame f; private JLabel l; private JPopupMenu pm; public ActionCapiamoleDai() { f=new JFrame("Prova"); f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); f.setLocation(250,200); Panel p1=new Panel(); Panel p2=new Panel(); p2.add(new Label("Name:")); p2.add(new TextField(20)); p1.add(p2); Panel p3= new Panel(); p3.add(new Button("Cancel")); JButton b=new JButton("ok"); p3.add(b); p1.add(p3); pm = new JPopupMenu("provaMenu"); p1.add(pm); p1.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent me){ showPopup(me); } public void mouseReleased(MouseEvent me){ showPopup(me); }}); f.add(p1); f.setSize(320,120); f.setVisible(true); } void showPopup(MouseEvent me) { if (me.isPopupTrigger()) pm.show(me.getComponent(), me.getX(), me.getY()); } public static void main(String[] args){ Runnable r=new Runnable(){ public void run(){ new ActionCapiamoleDai(); }}; EventQueue.invokeLater(r);} }

Rispondi quotando
