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 :

[GWT] PushButton - Image


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par défaut [GWT] PushButton - Image
    Bonjour,

    Malgré tout ce que j'ai pu lire et tester sur les PushButton je n'arrive pas au résultat escompté :

    Avoir un PushButton avec une image en background...

    J'ai testé trois solutions :

    D'abord faire un Button "normal" en y incluant de l'HTML afin d'essayé d'y insérer l'image

    résultat : pas de solution

    Ensuite faire un PushButton avec un objet Image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Image image = new Image("lgm/gwt/standard/images/closeb.gif");
    	      PushButton close = new PushButton(image);
    résultat : rien ne s'affiche (pourtant c'est le code proposé par Google)

    Puis la troisième a été d'attribuer un style CSS à mon PushButton :

    PushButton close = new PushButton(image);
    close.setStyleName("CloseButton");
    Avec comme CSS :

    .CloseButton {
    float : right;
    background-image : url("lgm/gwt/standard/images/closeb.png") no-repeat;
    cursor : hand;
    cursor : pointer;
    }
    résultat : Rien ne s'affiche


    J'ai vérifié que mon CSS était bien pris en compte et c'est le cas étant donné que d'autre attributs fonctionnent.
    Je me suis aussi posé la question de savoir s'il prenait en compte n'importe quel type d'image : j'ai essayé .gif, .png, .jpg.

    Bref je suis dans une impasse à ce niveau bien que ça ne doit pas être grand chose.


    Merci

  2. #2
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par défaut
    Pas d'idées ?

  3. #3
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    ça devrait pourtant fonctionner.
    T'es sûr que le chemin vers ton image est correct (relatif à la racine du war à priori) ?

  4. #4
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par défaut
    Oui j'ai fais le test avec une image que j'ai mis sur le RootPanel donc le chemin de l'image est bon.

    La seule chose qui diffère c'est ce Button est intégré dans la barre de titre d'une DialogBox, je vois que ça qui pourrait bloquer l'affaire. En revanche je comprends pas pourquoi.

  5. #5
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    Dans la barre de titre d'un com.google.gwt.user.client.ui.DialogBox ?
    On peut voir ton code ? Il me semblait qu'il n'etait pas possible d'y mettre autre chose que du texte, ça a changé depuis ?

    edit : http://code.google.com/webtoolkit/do.../DialogBox.png Tu parles bien de la zone "About the Mail Sample" sur l'image ?

  6. #6
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par défaut
    Yes je parle bien de ça, un petit glich existe pour ça.

    Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    public class MyDialog extends DialogBox
    	    {
     
    	      /*Image image = new Image("lgm/gwt/standard/images/closeb.gif");
    	      PushButton close = new PushButton(image);*/
    	      Button close = new Button("x");
     
     
    	      HTML title = new HTML("");
    	      HorizontalPanel captionPanel = new HorizontalPanel();
     
    	      public MyDialog(boolean autoHide, boolean modal)
    	        {
    	          super(autoHide, modal);
    	          Element td = getCellElement(0, 1);
    	          DOM.removeChild(td, (Element) td.getFirstChildElement());
    	          DOM.appendChild(td, captionPanel.getElement());
    	          captionPanel.setStyleName("Caption");//width-100%
    	          captionPanel.add(title);
    	          captionPanel.add(send);
    	          send.addStyleName("SendButton");
    	          close.addStyleName("CloseButton");//float:right
    	          captionPanel.add(close);          
    	          super.setGlassEnabled(true);
    	          super.setAnimationEnabled(true);
    	        }
    	      public MyDialog(boolean autoHide)
    	        {
    	          this(autoHide, true);
    	        }
    	      public MyDialog()
    	        {
    	          this(false);
    	        }
     
    	       @Override
    	      public String getHTML()
    	        {
    	          return this.title.getHTML();
    	        }
     
    	      @Override
    	      public String getText()
    	        {
    	          return this.title.getText();
    	        }
     
    	      @Override
    	      public void setHTML(String html)
    	        {
    	          this.title.setHTML(html);
    	        }
     
    	      @Override
    	      public void setText(String text)
    	        {
    	          this.title.setText(text);
    	        }
     
    	      @Override
    	      protected void onPreviewNativeEvent(NativePreviewEvent event)
    	        {
    	          NativeEvent nativeEvent = event.getNativeEvent();
     
    	          if (!event.isCanceled()
    	            && (event.getTypeInt() == Event.ONCLICK)
    	            && isCloseEvent(nativeEvent))
    	           {
    	              this.hide();
    	           }
    	         super.onPreviewNativeEvent(event);
    	       }
     
    	     private boolean isCloseEvent(NativeEvent event)
    	       {
    	         return event.getEventTarget().equals(close.getElement());//compares equality of the underlying DOM elements
    	       }
     
    }

    Dans ce code j'ai viré le PushButton provisoirement pour tout de même avoir un Button qui ressemble à qlqchose et voilà ce que ça donne :



    Uploaded with ImageShack.us

Discussions similaires

  1. Convertir un panel GWT en Image
    Par romy5959 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 27/06/2011, 18h22
  2. Image avec GWT.
    Par feridferid dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 06/10/2009, 17h40
  3. Mettre une image sur un bouton avec GWT
    Par nzo70 dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 20/05/2009, 21h41
  4. Ajouter une image sur un Pushbutton
    Par soufiane121 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 08/05/2008, 09h55
  5. [GWT] Design pushButton.petit problème.
    Par Falcor dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 06/03/2008, 16h26

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