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

SWT/JFace Java Discussion :

Problème graphique avec SWTChart


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut Problème graphique avec SWTChart
    Bonjour à tous,

    Je suis face à un problème que je ne comprends pas du tout. En fait, je dois intégrer des graphiques dans mon interface.

    Pour le moment, dans mon interface, j'ai utilisé un système d'onglet ( donc au début un type Shell, dans lequel on intègre un type Tabfolder, dans lequel on met un objet de type Composite ) comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    display = new Display();
    shell = new Shell(display);
    tabfolder = new TabFolder(shell, SWT.NONE);
    onglet1 = new TabItem(tabfolder, SWT.NONE);
    pageOnglet1 = new Composite(tabfolder, SWT.NONE);
    onglet1.setControl(pageOnglet1);
    Donc je voulais savoir si selon vous, c'est dû au système d'onglets que j'utilise.

  2. #2
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Bonjour, tu n'as pas vraiment décrit ton problème ! QU'est ce qu'il ce passe ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Ah oui, effectivement, ce message vient d'une autre discussion où tout était expliqué, désolé.

    En fait, je dois réaliser une interface graphique. Et dans celle-ci, je dois être capable d’intégrer des graphiques, comme des chronogrammes par exemple.
    J'ai choisi la bibliothèque SWT pour la réaliser.

    On m'a guidé vers la bibliothèque SWTChart pour faire cela. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Composite comp = new Composite(parent, SWT.NONE | SWT.EMBEDDED);
    Frame frame = SWT_AWT.new_Frame(comp);
    JFreeChart chart = createChart();
    ChartPanel chartPanel = new ChartPanel(chart);
    frame.add(chartPanel);
    On m'a fait diverses propositions, je les ai toutes regardées et testées. Mais à chaque fois, aucun affichage n'est effectué. Pourtant le code ne comporte pas d'erreur.

    Donc je voulais savoir d'où peut venir ce "non-affichage". Je suppose que le problème vient du Composite que j'ai utilisé ( le code que j'ai mis lors du précédent post). Car c'est la seule chose sur lequel j'ai modifié quelque chose sur mon onglet.

    J'ai également essayé d'afficher les graphique sur une autre fenêtre, vide de base, mais le résultat est malheureusement le même.

    J'espère avoir été le plus clair possible

  4. #4
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    le code m'a pourtant pas l'air si mal, tu utilises bien le mode SWT.EMBEDDED.
    Peut-être devrais-tu gérer un BorderLayout pour voir.
    Peut-être le problème vient de ta méthode createChart()...

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Est-ce que sans TabFolder ton code marche et affiche bien ton diagramme dans ton Composite?
    Si c'est juste l'affichage dans un TabItem qui ne marche pas, il te faudrait peut-être nous donner le code complet de création de ton Composite (sauf si c'est celui qui est déjà là...).
    Sache que généralement, quand rien n'est affiché, c'est un problème de layout...

    Voilà, à+
    Gueritarish

    [Edit]: J'avais pas vu que tu ré-expliquais la chose dans ton post précédant
    Tu devrais affecter un FillLayout à ton Composite, ça devrait le faire.
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Est-ce que sans TabFolder ton code marche et affiche bien ton diagramme dans ton Composite?
    Si c'est juste l'affichage dans un TabItem qui ne marche pas, il te faudrait peut-être nous donner le code complet de création de ton Composite (sauf si c'est celui qui est déjà là...).
    Sache que généralement, quand rien n'est affiché, c'est un problème de layout...

    Voilà, à+
    Gueritarish

    [Edit]: J'avais pas vu que tu ré-expliquais la chose dans ton post précédant
    Tu devrais affecter un FillLayout à ton Composite, ça devrait le faire.
    Bah le truc, c'est que sans le TabFolder, les onglets ne peuvent pas marcher il me semble. Le TabItem prend un TabFolder en attribut.

    Sinon j'ai essayé de mettre le graphique directement sur une fenêtre vide, sans rien du tout, juste un Shell pour l'affichage, mais toujours rien.

    Par contre, vous parlez de Layout. Si je ne me trompe pas, c'est en fait créer une " grille " pour pouvoir placer les objets dans un certain emplacement, c'est bien ça ?

    Le soucis, c'est que pour créer mon interface graphique, je n'ai pas utilisé de Layout mais j'ai placé directement les Labels avec leur position en pixels. ( Après, je ne sais pas si dans ce cas, on peut parler de Layout ... )

    Si ça peut vous aider, voici le code que j'ai utilisé pour construire ma fenêtre :

    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
    display = new Display();
    shell = new Shell(display);
    tabfolder = new TabFolder(shell, SWT.NONE);	
    onglet1 = new TabItem(tabfolder, SWT.NONE);
    onglet1.setText("Temps Reel");
    onglet2 = new TabItem(tabfolder, SWT.NONE);
    onglet2.setText("Sauvegarde");
    onglet3 = new TabItem(tabfolder, SWT.NONE);
    onglet3.setText("Graphique");	
    pageOnglet1 = new Composite(tabfolder, SWT.NONE);
    onglet1.setControl(pageOnglet1);		    
    pageOnglet2 = new Composite(tabfolder, SWT.NONE);
    onglet2.setControl(pageOnglet2);		    
    pageOnglet3 = new Composite(tabfolder, SWT.NONE);
    onglet3.setControl(pageOnglet3);		    
     
    Chart chart = new Chart(pageOnglet3, SWT.NONE);
    double[] ySeries = { 0.3, 1.4, 1.3, 1.9, 2.1 };
    ISeriesSet seriesSet = chart.getSeriesSet();
    ISeries series = seriesSet.createSeries(SeriesType.LINE, "line series");
    series.setYSeries(ySeries);

  7. #7
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Essais comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Composite comp = new Composite(parent, SWT.NONE | SWT.EMBEDDED);
    Frame frame = SWT_AWT.new_Frame(comp);
    
    frame.setLayout(new BorderLayout());
    
    JFreeChart chart = createChart();
    ChartPanel chartPanel = new ChartPanel(chart);
    frame.add(chartPanel);
    ainsi ton charPanel sera collé sur toute la Frame.
    Et tu peux aussi enlever le SWT.NONE qui ne sert plus a rien.

  8. #8
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par titounet55 Voir le message
    Par contre, vous parlez de Layout. Si je ne me trompe pas, c'est en fait créer une " grille " pour pouvoir placer les objets dans un certain emplacement, c'est bien ça ?

    Le soucis, c'est que pour créer mon interface graphique, je n'ai pas utilisé de Layout mais j'ai placé directement les Labels avec leur position en pixels. ( Après, je ne sais pas si dans ce cas, on peut parler de Layout ... ).
    Il te faut passer par des layouts !
    Un layout va se charger de placer les éléments pour toi sans que tu ais à spécifier une place précise. Une fois le mécanisme de placement assimilé, ça te facilite énormément le travail.
    Ce ne sont pas forcément des grilles d'ailleurs. Tu as un très bon tutoriel Eclipse là dessus.
    D'ailleurs, certains éléments n'affichent rien s'ils n'ont pas de layouts...
    Pas de questions technique par MP, les forums sont là pour ça.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Tout d'abord, merci pour vos propositions.
    Plus gros merci à Gueritarish, ton tutoriel est tout simplement parfait enfin presque ...

    Effectivement, les Layouts simplifient grandement les choses. J'ai réussi à refaire en 2 jours ce que j'avais fait en 6 semaines ( 3000 lignes à 1200 désormais )

    En ce qui concerne, les graphiques, j'ai testé vos 2 propositions et malheureusement, aucun changement ... et un autre problème est arrivé ...

    En effet, je me retrouve maintenant avec une fenêtre de hauteur infinie, c'est-à-dire qu'elle est plus grande que la taille de mon écran en hauteur.

    Pourtant, je suis sûr à 100% de ne pas avoir modifié la hauteur de l'affichage.
    J'ai juste modifié le nombre de colonnes ( donc la longueur avec numColumns ).

    Je suppose qu'il faut utiliser les méthodes marginHeight, Width etc .. Mais après plusieurs essais avec différentes valeurs, je ne vois pas du tout ce qu'elles font et surtout je ne vois pas de marges (marginHeight .... )

    Pour rappeler " l'architecture " de mon affichage, il y a un Shell, dans lequel il y a un TabFolder, dans lequel il y a un TabItem, dans lequel il y a un Group.

    Et je pense que c'est le Shell qui pose problème mais je ne suis pas sûr du tout de moi. J'ai essayé d'imposer une taille en pixels au cas où mais sans succès ...

  10. #10
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Voilà un petit programme exemple basé sur le snippet SWT pour les TabFolder, du snippet SWT sur l'intégration de Swing et sur les démos JFreeChart (c'est un peu indigeste, mais c'est la faute de JFreeChart et de ses DataSet):
    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
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    import java.awt.Color;
    import java.awt.Frame;
    import java.awt.GradientPaint;
    import java.text.SimpleDateFormat;
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.awt.SWT_AWT;
    import org.eclipse.swt.layout.FillLayout;
    import org.eclipse.swt.layout.GridData;
    import org.eclipse.swt.layout.GridLayout;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.TabFolder;
    import org.eclipse.swt.widgets.TabItem;
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.axis.CategoryLabelPositions;
    import org.jfree.chart.axis.DateAxis;
    import org.jfree.chart.axis.NumberAxis;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PiePlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.plot.XYPlot;
    import org.jfree.chart.renderer.category.BarRenderer;
    import org.jfree.chart.renderer.xy.XYItemRenderer;
    import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
    import org.jfree.data.category.DefaultCategoryDataset;
    import org.jfree.data.general.DefaultPieDataset;
    import org.jfree.data.time.Month;
    import org.jfree.data.time.TimeSeries;
    import org.jfree.data.time.TimeSeriesCollection;
    import org.jfree.ui.RectangleInsets;
     
    public class Snippet76 {
     
    	public static void main(String[] args)
    	{
    		Display display = new Display();
    		final Shell shell = new Shell(display);
    		shell.setLayout(new GridLayout());
    		final TabFolder tabFolder = new TabFolder(shell, SWT.BORDER);
    		tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    		TabItem item;
    		Composite composite;
    		Frame newFrame;
    		ChartPanel chartPanel;
    		JFreeChart chart;
    		for (int i = 0; i < 4; i++)
    		{
    			item = new TabItem(tabFolder, SWT.NONE);
    			item.setText("TabItem " + i);
    			composite = new Composite(tabFolder, SWT.EMBEDDED);
    			composite.setLayout(new FillLayout());
     
    			newFrame = SWT_AWT.new_Frame(composite);
    			chart = createChart(i);
    			if (chart != null)
    			{
    				chartPanel = new ChartPanel(chart);
    				newFrame.add(chartPanel);
    				item.setControl(composite);
    			}
    		}
    		tabFolder.pack();
    		shell.setSize(500, 400);
    		shell.open();
    		while (!shell.isDisposed())
    		{
    			if (!display.readAndDispatch())
    				display.sleep();
    		}
    		display.dispose();
    	}
     
    	private static JFreeChart createChart(int i)
    	{
    		JFreeChart chart = null;
     
    		switch (i) {
    		case 0:
    			DefaultPieDataset dataset = new DefaultPieDataset();
    			dataset.setValue("One", new Double(43.200000000000003D));
    			dataset.setValue("Two", new Double(10.0D));
    			dataset.setValue("Three", new Double(27.5D));
    			dataset.setValue("Four", new Double(17.5D));
    			dataset.setValue("Five", new Double(11.0D));
    			dataset.setValue("Six", new Double(19.399999999999999D));
    			chart = ChartFactory.createPieChart("Pie Chart", dataset, true, true, false);
    			PiePlot plot = (PiePlot) chart.getPlot();
    			plot.setSectionOutlinesVisible(false);
    			plot.setNoDataMessage("No data available");
    			break;
    		case 1:
    			dataset = new DefaultPieDataset();
    			dataset.setValue("One", new Double(43.200000000000003D));
    			dataset.setValue("Two", new Double(10.0D));
    			dataset.setValue("Three", new Double(27.5D));
    			dataset.setValue("Four", new Double(17.5D));
    			dataset.setValue("Five", new Double(11.0D));
    			dataset.setValue("Six", new Double(19.399999999999999D));
    			chart = ChartFactory.createRingChart("Ring Chart", dataset, true, true, false);
    			plot = (PiePlot) chart.getPlot();
    			plot.setSectionOutlinesVisible(false);
    			plot.setNoDataMessage("No data available");
    			break;
    		case 2:
    			String series1 = "First";
    			String series2 = "Second";
    			String series3 = "Third";
     
    			String category1 = "Category 1";
    			String category2 = "Category 2";
    			String category3 = "Category 3";
    			String category4 = "Category 4";
    			String category5 = "Category 5";
     
    			DefaultCategoryDataset barDataset = new DefaultCategoryDataset();
     
    			barDataset.addValue(1.0D, series1, category1);
    			barDataset.addValue(4.0D, series1, category2);
    			barDataset.addValue(3.0D, series1, category3);
    			barDataset.addValue(5.0D, series1, category4);
    			barDataset.addValue(5.0D, series1, category5);
     
    			barDataset.addValue(5.0D, series2, category1);
    			barDataset.addValue(7.0D, series2, category2);
    			barDataset.addValue(6.0D, series2, category3);
    			barDataset.addValue(8.0D, series2, category4);
    			barDataset.addValue(4.0D, series2, category5);
     
    			barDataset.addValue(4.0D, series3, category1);
    			barDataset.addValue(3.0D, series3, category2);
    			barDataset.addValue(2.0D, series3, category3);
    			barDataset.addValue(3.0D, series3, category4);
    			barDataset.addValue(6.0D, series3, category5);
    			chart = ChartFactory.createBarChart("Bar Chart Demo 1", "Category", "Value", barDataset, PlotOrientation.VERTICAL, true, true, false);
     
    			chart.setBackgroundPaint(Color.white);
     
    			CategoryPlot catPlot = (CategoryPlot) chart.getPlot();
     
    			NumberAxis rangeAxis = (NumberAxis) catPlot.getRangeAxis();
    			rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
     
    			BarRenderer renderer = (BarRenderer) catPlot.getRenderer();
    			renderer.setDrawBarOutline(false);
     
    			GradientPaint gp0 = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
     
    			GradientPaint gp1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
     
    			GradientPaint gp2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
     
    			renderer.setSeriesPaint(0, gp0);
    			renderer.setSeriesPaint(1, gp1);
    			renderer.setSeriesPaint(2, gp2);
     
    			CategoryAxis domainAxis = catPlot.getDomainAxis();
    			domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.5235987755982988D));
    			break;
    		case 3:
    			TimeSeries s1 = new TimeSeries("L&G European Index Trust");
    			s1.add(new Month(2, 2001), 181.80000000000001D);
    			s1.add(new Month(3, 2001), 167.30000000000001D);
    			s1.add(new Month(4, 2001), 153.80000000000001D);
    			s1.add(new Month(5, 2001), 167.59999999999999D);
    			s1.add(new Month(6, 2001), 158.80000000000001D);
    			s1.add(new Month(7, 2001), 148.30000000000001D);
    			s1.add(new Month(8, 2001), 153.90000000000001D);
    			s1.add(new Month(9, 2001), 142.69999999999999D);
    			s1.add(new Month(10, 2001), 123.2D);
    			s1.add(new Month(11, 2001), 131.80000000000001D);
    			s1.add(new Month(12, 2001), 139.59999999999999D);
    			s1.add(new Month(1, 2002), 142.90000000000001D);
    			s1.add(new Month(2, 2002), 138.69999999999999D);
    			s1.add(new Month(3, 2002), 137.30000000000001D);
    			s1.add(new Month(4, 2002), 143.90000000000001D);
    			s1.add(new Month(5, 2002), 139.80000000000001D);
    			s1.add(new Month(6, 2002), 137.0D);
    			s1.add(new Month(7, 2002), 132.80000000000001D);
    			TimeSeries s2 = new TimeSeries("L&G UK Index Trust");
    			s2.add(new Month(2, 2001), 129.59999999999999D);
    			s2.add(new Month(3, 2001), 123.2D);
    			s2.add(new Month(4, 2001), 117.2D);
    			s2.add(new Month(5, 2001), 124.09999999999999D);
    			s2.add(new Month(6, 2001), 122.59999999999999D);
    			s2.add(new Month(7, 2001), 119.2D);
    			s2.add(new Month(8, 2001), 116.5D);
    			s2.add(new Month(9, 2001), 112.7D);
    			s2.add(new Month(10, 2001), 101.5D);
    			s2.add(new Month(11, 2001), 106.09999999999999D);
    			s2.add(new Month(12, 2001), 110.3D);
    			s2.add(new Month(1, 2002), 111.7D);
    			s2.add(new Month(2, 2002), 111.0D);
    			s2.add(new Month(3, 2002), 109.59999999999999D);
    			s2.add(new Month(4, 2002), 113.2D);
    			s2.add(new Month(5, 2002), 111.59999999999999D);
    			s2.add(new Month(6, 2002), 108.8D);
    			s2.add(new Month(7, 2002), 101.59999999999999D);
    			TimeSeriesCollection timeDataSet = new TimeSeriesCollection();
    			timeDataSet.addSeries(s1);
    			timeDataSet.addSeries(s2);
     
    			chart = ChartFactory.createTimeSeriesChart("Legal & General Unit Trust Prices", "Date", "Price Per Unit", timeDataSet, true, true, false);
    			chart.setBackgroundPaint(Color.white);
    			XYPlot xyPlot = (XYPlot) chart.getPlot();
    			xyPlot.setBackgroundPaint(Color.lightGray);
    			xyPlot.setDomainGridlinePaint(Color.white);
    			xyPlot.setRangeGridlinePaint(Color.white);
    			xyPlot.setAxisOffset(new RectangleInsets(5.0D, 5.0D, 5.0D, 5.0D));
    			xyPlot.setDomainCrosshairVisible(true);
    			xyPlot.setRangeCrosshairVisible(true);
    			XYItemRenderer r = xyPlot.getRenderer();
    			if (r instanceof XYLineAndShapeRenderer)
    			{
    				XYLineAndShapeRenderer timeRenderer = (XYLineAndShapeRenderer) r;
    				timeRenderer.setBaseShapesVisible(true);
    				timeRenderer.setBaseShapesFilled(true);
    				timeRenderer.setDrawSeriesLineAsPath(true);
    			}
    			DateAxis axis = (DateAxis) xyPlot.getDomainAxis();
    			axis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));
    			break;
    		default:
    			break;
    		}
    		return chart;
    	}
    }
    Je mets une taille à mon Shell mais tu peux tout aussi bien garder le pack()...

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Oula encore grand merci à toi Gueritarish !!!
    Ça répond à tous mes problèmes.
    Et je te rassure, ce n'est vraiment pas indigeste par rapport à ce que j'ai comme code ^^

    Juste par curiosité, tu pourrais me dire à quoi correspondent les 4 attributs de GridData s'il te plaît ? Car en fait, ce sont ces attributs qui étaient à l'origine de grand nombre de mes problèmes.

    Avec ça, si je ne finis pas mon interface, c'est qu'il y a quelque chose qui cloche chez moi

  12. #12
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Alors, les paramètres pour les GridData:
    • Les 2 premiers indiquent comment l'élément sera placé horizontalement et verticalement dans la cellule. Les valeurs possibles sont: SWT.BEGINNING (ou SWT.LEFT pour l'horinzontal et SWT.TOP pour le vertical), SWT.CENTER, SWT.END (ou SWT.RIGHT pour l'horizontal et SWT.BOTTOM pour le vertical).
    • Les 2 derniers indiquent si la cellule doit être faite suffisamment grande pour occuper la place restante.

    Tu peux avoir 2 paramètres supplémentaires encore, qui indiquent le nombre de cellules qui seront prises par l'élément pour les colonnes et les lignes.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Bon bah parfait !!

    Merci pour toutes ces précisions, je pense que je peux mettre résolu

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

Discussions similaires

  1. Problème graphique avec l'instruction "grid", pour raffiner le maillage
    Par follichon dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 25/06/2012, 16h35
  2. [AC-2003] problème graphique avec access 2003 et W7
    Par le méruvien dans le forum IHM
    Réponses: 3
    Dernier message: 25/07/2011, 09h12
  3. Problème graphique avec jeu DOS
    Par Tristram dans le forum Vidéo
    Réponses: 0
    Dernier message: 16/06/2011, 09h44
  4. Problème Interface graphique avec EJB
    Par manuvd dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/06/2007, 12h04
  5. Problème graphique avec vista
    Par ibreak dans le forum Windows Vista
    Réponses: 7
    Dernier message: 21/12/2006, 20h26

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