Java - colocar Listeners al menu contextual

   
Vista:

colocar Listeners al menu contextual

Publicado por omar (57 intervenciones) el 28/07/2015 15:46:52
Hola amigos, tengo el siguiente codio, que me muestra un menu contextual. El pequeño detalle es que no puedo hacer que funciones las funcines copiar y pegar.. agradezco la ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.awt.event.*;
import javax.swing.*;
 
public class Contextual extends MouseAdapter{
   private JPopupMenu popup=new JPopupMenu();
 
 
   public Contextual() {
       JFrame v=new JFrame();
       v.setBounds(100, 100, 200, 200);
       v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       popup.add(new JMenuItem("Un elemento del menu"));
       popup.add(new JMenuItem("Otro elemento del menu"));
       v.addMouseListener((MouseListener) this);
       v.setVisible(true);
   }
 
 
   private void mostrarPopupMenu(MouseEvent e) {
 
       if (e.isPopupTrigger()) {
           popup.show(e.getComponent(), e.getX(), e.getY());
       }
 
   }
    public void mousePressed(MouseEvent e) {
       mostrarPopupMenu(e);
   }
 
   public void mouseReleased(MouseEvent e) {
       mostrarPopupMenu(e);
   }
   public static void main(String ar[]){
       Contextual obj=new Contextual();
   }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

colocar Listeners al menu contextual

Publicado por omar (57 intervenciones) el 29/07/2015 13:38:13
Hola, ya lo solucioné, por si a alguien le interesa. Lo hice del siguiente modo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Contextual extends MouseAdapter{
    GuiEditorDeTexto guiCont;
    ActionListener accion=new MenuAccion();
 
    Contextual(GuiEditorDeTexto cont){
        guiCont=cont;
    }
    public void mousePressed(MouseEvent e){
        if(e.isPopupTrigger()){
            mostrarEmergente(e);
        }
    }
    public void mouseReleased(MouseEvent e){
        if (e.isPopupTrigger())
            mostrarEmergente(e);
    }
    public void mostrarEmergente(MouseEvent e){
        guiCont.contextual.show(e.getComponent(), e.getX(), e.getY());
    }
 
class MenuAccion implements ActionListener{
 
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==guiCont.copiar1){
            guiCont.texto.copy();
        }
        if(e.getSource()==guiCont.pegar1){
            guiCont.texto.paste();
        }
    }
    }


y agregue los listener asi, en la gui de la aplicaion

texto.addMouseListener(mouse);
copiar1.addActionListener(mouse.accion);
pegar1.addActionListener(mouse.accion);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

colocar Listeners al menu contextual

Publicado por xve (261 intervenciones) el 29/07/2015 15:21:19
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar