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 :

GXT _ mise à jour de LayoutContainer


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut GXT _ mise à jour de LayoutContainer
    Bonjour,
    j'ai un soucis lorsque je modifie mes LayoutContainer.

    En gros, j'ai envie de faire un diaporama style PowerPoint.
    Et lorsque je clique sur le bouton next, le slide courant doit changer...

    our ça, j'ai un ContentPanel CENTER qui contient le slide courant.
    Lorsqu'on clique sur next(), j'enlève le slide courant de CENTER et j'en mets un nouveau.

    Pourtant, l'affichage ne marche pas.

    Auriez-vous une idée ?

    Voici mon code :
    - les variables locales
    - mon constructeur
    - mon onRender
    - ma ToolBar pour gérer les previous/next sur les slides
    - ma fonction qui change le slide en sous suivant (getNext)

    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    private List<CpModelData> pcps;
    	private MenuSlide menu;
    	private Slide slideCour;
     
    	private ContentPanel cp = new ContentPanel();
    	private LayoutContainer page = new LayoutContainer(); 
    	private ContentPanel panneauPrincipal;
    	private ContentPanel gestionNextPrevious;
     
    	private LayoutContainer top = new LayoutContainer(); // contient les slides
    	private LayoutContainer bottom = new LayoutContainer(); // gestion previous/next
     
    	private int numSlideCour;
    	private int numSlides;
     
    	ContentPanel north;
    	ContentPanel west;
    	ContentPanel center;
    	ContentPanel south;
     
    	public Diaporama(List<CpModelData> pcps) {
    		this.pcps = pcps;
    		menu = new MenuSlide(pcps);
    		cp.setHeading("Presentation xxx (" + pcps.size() + ")");
    		numSlideCour = 0;
    		numSlides = pcps.size() * 2;
    	}
     
    	@Override
    	protected void onRender(Element parent, int index) {
    		super.onRender(parent, index);
    		//setLayout(new FlowLayout(0));
    		setLayout(new FillLayout());
    		System.out.println("-------------- OnRender (Diaporama) --------------");
     
    		cp.setLayout(new BorderLayout());
     
     
    		/*  ******* Variables à initialiser ********* */
    		north = new ContentPanel();
    		west = new ContentPanel();
    		center = new ContentPanel();
    		south = new ContentPanel();
    		center.setHeading("PCPs application");
    		center.setScrollMode(Scroll.AUTOX);
     
    		/*  ******************* Panneau CENTER ***************** */
    		BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
    		centerData.setCollapsible(false);
    		centerData.setFloatable(false);
    		centerData.setHideCollapseTool(true);
    		centerData.setSplit(false);
    		center.setBorders(false);
    		center.setStyleAttribute("background-color", "#ff0000");
    		// northData.setMargins(new Margins(0, 0, 0, 0));
    		center.setHeaderVisible(false);
    		center.setLayout(new FitLayout());
     
    		slideCour = menu;
    		center.add(slideCour); // on commence par afficher le menu de la présentation
    		cp.add(center, centerData);
     
     
    		/*  ****************** Panneau SOUTH ****************** */
    		BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, 50);
    		southData.setCollapsible(false);
    		southData.setFloatable(false);
    		southData.setHideCollapseTool(true);
    		southData.setSplit(false);
    		south.setBorders(true);
    		south.setStyleAttribute("background-color", "#d7e2f3");
    		south.setStyleAttribute("border", "2px solid #ff00ff");
    		south.setLayout(new FillLayout());
    		south.setHeaderVisible(false);
    		south.add(getToolBar());
    		cp.add(south, southData);
     
    		add(cp);
    	}
     
     
     
    	private ToolBar getToolBar() {
    		ToolBar toolBar = new ToolBar();
    		toolBar.add(new Button("getPrevious",
    				new SelectionListener<ButtonEvent>() {
    					@Override
    					public void componentSelected(ButtonEvent ce) {
    						getPrevious();
    					}
    				}));
    		toolBar.add(new Button("getNext",
    				new SelectionListener<ButtonEvent>() {
    					@Override
    					public void componentSelected(ButtonEvent ce) {
    						getNext();
    					}
    				}));
    		return toolBar;
    	}
     
     
    	private ContentPanel getNext() {
    		if (slideCour != null && slideCour instanceof MenuSlide ) { // on est dans le menu
    			System.out.println("le slide courant est le -- MENU (" + slideCour.pageCour + ") --");
    			MenuSlide menuCour = (MenuSlide) slideCour;
    			// TODO : on doit mettre le PCP  (menuCour.pageCour)
    			center.remove(slideCour);
    			slideCour = new PcpView(pcps.get(menuCour.pageCour));
    			center.add((PcpView) slideCour);
    			repaint();
    			System.out.println("slideCour : " + ((PcpView)slideCour));
    			System.err.println("--> " + new PcpView(pcps.get(menuCour.pageCour)));
    		} else if (slideCour != null && slideCour instanceof PcpView ) { // dans un slide
    			System.out.println("le slide courant est le -- SLIDE (" + numSlideCour + ") --");
    			PcpView pcpView = (PcpView) slideCour;
    			if (pcpView.isTerminated()) {
    				center.remove(slideCour);
    				slideCour = menu.getNext();
    				center.add(slideCour);
    			} else { // on affiche la page suivante
    				slideCour = pcpView.getNext();
    			}
    		} else {
    			System.err.println("slideCour == null");
    		}
    		//slideCour.recalculate();
    		//slideCour.repaint();
    		//recalculate();
    		//repaint();
    		//cp.recalculate();
    		//cp.repaint();
    		return cp;
    	}

  2. #2
    Membre confirmé
    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
    Par défaut CardLayout
    Regarde plutôt du côté du CardLayout.

    http://www.extjs.com/examples/explorer.html#cardlayout

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut
    parfait

    Merci beaucoup.

  4. #4
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Je voudrai afficher un borderLayout dans ma page d'acceuil voila je l'ai mis dans une class a part, j'ai eu le code sur le net et c'est:

    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
    package fr.unice.testGXT.client;
     
    import java.util.ArrayList;
     
    import com.extjs.gxt.charts.client.Chart;
    import com.extjs.gxt.charts.client.model.ChartModel;
    import com.extjs.gxt.charts.client.model.axis.Label;
    import com.extjs.gxt.charts.client.model.axis.XAxis;
    import com.extjs.gxt.charts.client.model.axis.YAxis;
    import com.extjs.gxt.charts.client.model.charts.BarChart;
    import com.extjs.gxt.charts.client.model.charts.BarChart.Bar;
    import com.extjs.gxt.charts.client.model.charts.BarChart.BarStyle;
    import com.extjs.gxt.ui.client.Style.LayoutRegion;
    import com.extjs.gxt.ui.client.widget.LayoutContainer;
    import com.extjs.gxt.ui.client.widget.form.FieldSet;
    import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
    import com.extjs.gxt.ui.client.widget.layout.FitData;
    import com.extjs.gxt.ui.client.widget.layout.FitLayout;
    import com.google.gwt.user.client.Random;
    import com.google.gwt.user.client.ui.Widget;
     
    public class MyBarWidget extends Widget{
     
    public MyBarWidget(){
    }
    private static String url = "gxt/chart/open-flash-chart.swf";
    // //*****************************
       public static Widget getChartModel(int segments) 
       {  
     
        ArrayList<String> array = new ArrayList<String>();
        for(int i=0; i<12; i++){
        array.add("mounth : "+i);
        }
         Chart chart = new Chart(url);
         ChartModel cm = new ChartModel("Le titre du graphe...", "font-size: 14px; font-family: Verdana;");  
         cm.setBackgroundColour("-1");  
         XAxis xa = new XAxis();  
     
         xa.setGridColour("-1");  
         cm.setXAxis(xa);  
         YAxis ya = new YAxis();  
         ya.setSteps(16);  
         ya.setMax(160);  
         ya.setGridColour("#8888FF");  
         cm.setYAxis(ya);  
         BarChart bchart = new BarChart(BarStyle.GLASS);  
         bchart.setColour("#FF00CC");  
         bchart.setTooltip("#val#"); 
     
     
          for (int t = 0; t < 12; t++) {  
            if (t == segments - 1) {  
              bchart.addBars(new BarChart.Bar(Random.nextInt(50) + 50, "#8888FF"));  
            } else {  
              bchart.addValues(Random.nextInt(50) + 50);  
            }  
          }  
         cm.addChartConfig(bchart);  
    //      BorderLayoutData bld = new BorderLayoutData(LayoutRegion.CENTER);
    //      BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.EAST, 370);
         LayoutContainer lc = new LayoutContainer();
         //FieldSet fs = new FieldSet();
         //fs.setLayout(new FitLayout());
     
         chart.setBorders(true);  
         chart.setChartModel(cm);
         //fs.add(chart, new FitData(0, 0, 20, 0));
         lc.setSize(1000, 850);
         lc.add(chart);
     
         return lc;//fs;  
       }  
     
    //*****************************
    }

    aidez moi svp...

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

Discussions similaires

  1. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 12h52
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 08h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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