IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

Gestion du bouton droit de la souris


Sujet :

GWT et Vaadin Java

  1. #1
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut Gestion du bouton droit de la souris
    Bonjour tout le monde,
    Je cherche à faire apparaitre un popup en cliquant sur le bouton droit de la souris mais sans faire apparaitre le menu contextuel du navigateur.
    Pouvez vous m'aider ?
    Je vous en remercie d'avance.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    il faut creer une native :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static native void disableContextMenu(Element element) /*-{
    	 element.oncontextmenu = function() {
    	 return false;
    	 }
     }-*/;
    que tu appelles quelques part dans ton entrypoint comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    disableContextMenu(RootPanel.getBodyElement());

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par nannous Voir le message
    Bonjour tout le monde,
    Je cherche à faire apparaitre un popup en cliquant sur le bouton droit de la souris mais sans faire apparaitre le menu contextuel du navigateur.
    Pouvez vous m'aider ?
    Je vous en remercie d'avance.
    il faut appeler : e.stopEvent(); dans la methode onContextMenu



    grid.addGridListener(new GridListenerAdapter() {
    public void onContextMenu(EventObject e) {
    e.stopEvent();

    showContextMenu( e);
    }
    }

    private void showContextMenu( EventObject e) {
    if (menu == null) {
    menu = new Menu();
    Item editItem = new Item("Edit", new BaseItemListenerAdapter() {
    public void onClick(BaseItem item, EventObject e) {

    }
    });
    editItem.setId("edit-item");
    menu.addItem(editItem);

    Item disableItem = new Item("Disable", new BaseItemListenerAdapter() {
    public void onClick(BaseItem item, EventObject e) {

    }
    });
    disableItem.setId("disable-item");
    menu.addItem(disableItem);

    Item enableItem = new Item("Enable", new BaseItemListenerAdapter() {
    public void onClick(BaseItem item, EventObject e) {

    }
    });
    enableItem.setId("enable-item");
    menu.addItem(enableItem);
    }
    menu.showAt(e.getXY());
    }

  4. #4
    Membre régulier Avatar de Space23
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 185
    Points : 88
    Points
    88
    Par défaut
    il faut appeler : e.stopEvent(); dans la methode onContextMenu



    grid.addGridListener(new GridListenerAdapter() {
    public void onContextMenu(EventObject e) {
    e.stopEvent();

    showContextMenu( e);
    }
    }
    _ Le but ici est donc bien de surcharger oncontextmenu ? Ou cela se fait-il?

    _ Ou trouve t-on le GridListener Adapter? Faut-il le créer ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Space23 Voir le message
    _ Le but ici est donc bien de surcharger oncontextmenu ? Ou cela se fait-il?

    _ Ou trouve t-on le GridListener Adapter? Faut-il le créer ?
    le GridListenerAdapter est une classe du package com.gwtext.client.widgets.grid.event de GWT-EXT. cette classe implémente l'interface GridListener et elle t'évite de redéfinir un certain nombre de méthodes. Tu redéfinie seulement les méthodes dont tu en a besoin.

  6. #6
    Membre régulier Avatar de Space23
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 185
    Points : 88
    Points
    88
    Par défaut
    Le problème est que je ne peux pas utiliser gwt-Ext, est-ce qu'il est possible d'utiliser onContextMenu et plus généralement redéfinir un menu contextuel sans gwt-Ext ?
    L'exemple de picsou marche mais je n'ai plus de menu contextuel du tout.

  7. #7
    Membre régulier Avatar de Space23
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 185
    Points : 88
    Points
    88
    Par défaut
    Différente approche :

    J'essaye d'appeler une méthode lors de l'appel JSNI :

    Méthode JSNI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @SuppressWarnings("unused")
    	private static native void disableContextMenu(Element element) /*-{ 
         element.oncontextmenu = function() { 
         this.@fr.tm.listeDesContacts.client.view.ListeDesContactsWidget::testMethode(Ljava/lang/String;)("String1");
    return false;
     }; 
     }-*/;
    Méthode appelé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    static public void testMethode(String s)
    	{
    		Window.alert("Ca marche");
    	}
    Quand je l'exécute il m'affiche une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Ligne 2
    Erreur : Argument ou appel de procédure incorrect
    Une idée?

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/09/2006, 04h36
  2. Réponses: 8
    Dernier message: 26/07/2006, 22h04
  3. Réponses: 7
    Dernier message: 19/12/2005, 12h27
  4. Réponses: 3
    Dernier message: 05/11/2005, 14h35
  5. Réponses: 3
    Dernier message: 10/02/2005, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo