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 :

Problème DialogBox avec UIBinder


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut Problème DialogBox avec UIBinder
    Bonjour je débute en GWT et j'essaye successivement différents points de ce produit pour faire le tour de ce dont j'aurais besoin pour un développement futur.

    J'ai fait un test de DialogBox qui a fonctionné, par contre je n'arrive pas à faire correctement une DialogBox via UIBinder, dans les essais que j'ai fait, j'obtiens suivant les cas un des 2 résultats suivants (en mode développement sous Helios) :

    http://perso.orange.fr/dbsite/double_cadre.jpg
    http://perso.orange.fr/dbsite/simple_cadre.jpg

    Soit j'ai une espèce de double cadre, soit un seul, mais pas celui de la boîte de dialogue

    Le ui.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
    <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
    	xmlns:g="urn:import:com.google.gwt.user.client.ui">
    	<ui:style>
    		.important {
    			font-weight: bold;
    		}
    	</ui:style>
    	<g:DialogBox ui:field="dialog" autoHide="true" modal="true">
       		<g:caption><b>Caption text</b></g:caption>
    			<g:HTMLPanel ui:field="HtmlPanel" >
    				<g:Button ui:field="button" styleName="{style.important}" text="Autodestruction" />
    			</g:HTMLPanel>
    	</g:DialogBox>
    </ui:UiBinder>


    Le version suivante du source donne le résultat "simple_cadre.jpg" :
    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
    package scc.boris.client;
     
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.event.dom.client.ClickEvent;
    import com.google.gwt.uibinder.client.UiBinder;
    import com.google.gwt.uibinder.client.UiField;
    import com.google.gwt.uibinder.client.UiHandler;
    import com.google.gwt.user.client.Window;
    import com.google.gwt.user.client.ui.Button;
    import com.google.gwt.user.client.ui.Composite;
    import com.google.gwt.user.client.ui.DialogBox;
    import com.google.gwt.user.client.ui.HTMLPanel;
    import com.google.gwt.user.client.ui.Widget;
     
    public class TstUiDialogBox extends DialogBox {
     
    	private static TstUiDialogBoxUiBinder uiBinder = GWT
    			.create(TstUiDialogBoxUiBinder.class);
     
    	interface TstUiDialogBoxUiBinder extends UiBinder<Widget, TstUiDialogBox> {
    	}
     
    	/* @UiField DialogBox dialog ;	*/
    	@UiField HTMLPanel HtmlPanel ;
    	public TstUiDialogBox() {
    		uiBinder.createAndBindUi(this);
    		setWidget( HtmlPanel );
    	}
     
    	@UiField
    	Button button;
     
    	@UiHandler("button")
    	void onClick(ClickEvent e) {
    		Window.alert("Hello!");
    	}
    }
    Si je modifie le constructeur de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	public TstUiDialogBox() {
    		setWidget( uiBinder.createAndBindUi(this) );
    	}
    J'obtiens la version "double_cadre.jpg"

    Avez vous la solution pour avoir une boîte normale ?
    En vous remerciant pour l'aide que vous pourrez m'apporter.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut
    J'ai finalement trouvé un exemple avec la solution, en fait ce n'est pas l'adresse de l'instance de TstUiDialogBox qui est une boîte de dialogue.
    La boîte de dialogue à utiliser est l'adresse retournée par :

    uiBinder.createAndBindUi(this)

    Donc le constructeur a été modifié, et une méthode getDialogBox() ajoutée :

    public TstUiDialogBox() {
    tstDiag = (DialogBox)uiBinder.createAndBindUi(this) ;
    }

    DialogBox getDialogBox() {
    return tstDiag ;
    }

    Au niveau de la classe appelante ça donne :

    TstUiDialogBox db = new TstUiDialogBox() ;
    db.getDialogBox().show();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Locate avec espaces
    Par Clezio dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/03/2004, 19h06
  2. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  3. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

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