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);}
}