Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    [JAVA]Creare un popupmenu ed aggiungere una actionlistener

    Salve ragazzi ho creato un menù sul tasto destro in questo modo:

    popup = new JPopupMenu();
    JMenuItem download = new JMenuItem("Download selected files");
    download.addActionListener(this);
    download.setActionCommand("Download");
    popup.add(download);


    MouseListener popupListener = new PopupListener();
    m_jtable2.addMouseListener(popupListener);
    setVisible(true);


    ...
    ...
    ...
    class PopupListener extends MouseAdapter{
    public void mousePressed(MouseEvent e) {
    if (e.isPopupTrigger()) {
    popup.show(e.getComponent(),e.getX(), e.getY());
    ActionListener menuListener = new ActionListener() {
    public void actionPerformed(ActionEvent event) {
    if (event.getActionCommand().equals("Download"))
    {

    System.out.println("Scaricato");

    }
    }
    };
    }
    }
    public void mouseReleased(MouseEvent e) {
    if (e.isPopupTrigger()) {
    popup.show(e.getComponent(),e.getX(), e.getY());
    }
    }
    }

    }

    Ho fatto il tutto nel vano tentativo di creare un menù avviabile col tasto destro e per poter assegnare alla pressione di uno dei pulsanti una determinata istruzione.Il menu si apre correttamente mi mostra tutti i pulsanti,ma alla pressione del pulsante download l'istruzione non viene eseguita,dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA]Creare un popupmenu ed aggiungere una actionlistener

    Originariamente inviato da energie
    ma alla pressione del pulsante download l'istruzione non viene eseguita,dove sbaglio?
    Hai fatto:

    download.addActionListener(this);

    Vuol dire che nella classe dovrai implementare ActionListener facendo qualcosa in actionPerformed() (che verrà invocato quando si clicca sull'item del popup).

    Non vuol dire che nel metodo mousePressed() devi fare:

    ActionListener menuListener = new ActionListener() {
    public void actionPerformed(ActionEvent event) {
    .....

    che non serve a nulla.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    perfetto,grazie andbin

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.