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

Applets Java Discussion :

Modification Applet dynamiquement


Sujet :

Applets Java

  1. #1
    Membre confirmé Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Par défaut Modification Applet dynamiquement
    Bonjour à tous,
    N'ayant pas trouvé de solution sur ce forum à mon problème, je m'en remet à vous car j'avoue que je bloque...
    Je développe actuellement une Applet java me permettant d'afficher un graphique dans une page html, jusque là pas de problème...
    Ce que je souhaite faire c'est de pouvoir changer le contenu de mon graphique suivant des paramètres passés de ma page html vers mon Applet et de regénérer mon graphique apèrs prise en compte des nouveaux paramètres...
    Voici le code de mon Applet:
    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
    public class TestApplet extends JApplet {
     
        boolean isNewChart = false;
     
        public void init() {
            final IntervalCategoryDataset dataset;
            if(isNewChart != true){
                dataset = createDataset();
            }else{
                dataset = createDatasetTest();
            }
            final JFreeChart chart = createChart(dataset);
     
            // add the chart to a panel...
            final ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new Dimension(900,600));
     
            chartPanel.setPopupMenu(null);
            //add the chartPanel to the container (getContentPane is inherited from JApplet which TestApplet extends).
            Container content = getContentPane();
            content.removeAll();
            //content.add(new JLabel("Test Applet : " + isNewChart));
            content.add(chartPanel);    
        }
     
        public static IntervalCategoryDataset createDataset() {
     
            final TaskSeries s1 = new TaskSeries("Scheduled");
    ...
     final TaskSeriesCollection collection = new TaskSeriesCollection();
            collection.add(s1);
     
            return collection;
        }
    private JFreeChart createChart(final IntervalCategoryDataset dataset) {
            final JFreeChart chart = ChartFactory.createGanttChart(
                "Diagramme de Gantt",  // chart title
                "Task",              // domain axis label
                "Date",              // range axis label
                dataset,             // data
                true,                // include legend
                true,                // tooltips
                false                // urls
            );    
            // chart.getCategoryPlot().getDomainAxis().setMaxCategoryLabelWidthRatio(10.0f);
            return chart;    
        }
     public void testDate(String dateDebut, String dateFin) {
     
            isNewChart = true;
            init();
    }
     
    private JFreeChart createChartTest(final IntervalCategoryDataset datasetTest) {
            final JFreeChart chartTest = ChartFactory.createGanttChart(
                "Diagramme de Gantt",  // chart title
                "Task",              // domain axis label
                "Date",              // range axis label
                datasetTest,             // data
                true,                // include legend
                true,                // tooltips
                false                // urls
            );    
            // chart.getCategoryPlot().getDomainAxis().setMaxCategoryLabelWidthRatio(10.0f);
            return chartTest;    
        }
    public static IntervalCategoryDataset createDatasetTest() {
     
            final TaskSeries s1Test = new TaskSeries("Scheduled");
    ...
    final TaskSeriesCollection collectionTest = new TaskSeriesCollection();
            collectionTest.add(s1Test);
     
            return collectionTest;
    Et voici maintenant le code de ma page HTML:
    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
    <html>
        <head>
            <title>Diagramme de Gantt</title>
        </head>
        <body>
    		<form>
    			<table>
    				<tr>
    					<td colspan="3" align="center">
    						<b>Choix entre deux dates</b>
    					</td>
    				</tr>
    				<tr>
    					<td colspan="3">
    						<b>Projet:&nbsp;</b>
    						<select name="listeProjet">
    							<option value="test">Projet Test
    						</select>
    					</td>
    				</tr>				
    				<tr>
    					<td>
    						<b>Date d&eacute;but:&nbsp;</b>
    						<input type="text" name="dateDebut">
    					</td>
    					<td>
    						<b>Date fin:&nbsp;</b>
    						<input type="text" name="dateFin">
    					</td>
    				</tr>
    			</table>
    			<tr>
    				<td colspan="3" align="center">
    					<input type="button" value="Afficher" onclick="if(monApplet) {monApplet.testDate('this.form.dateDebut.value', 'this.form.dateFin.value');}">
    				</td>
    			</tr>
    		</form>
    		<APPLET
                    CODE="TestApplet.class" NAME="monApplet" WIDTH=900 HEIGHT=600
                    ARCHIVE="jcommon-1.0.13.jar, jfreechart-1.0.10.jar, testApplet.jar">
            </APPLET>
        </body> 
    </html>
    Soit rien ne se passe lorsque je clique sur mon bouton ou ma fonction ne fonctionne pas mais mon graphique reste inchangé...
    Quelqu'un a-t-il une idée?
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de docr1
    Profil pro
    Inscrit en
    Février 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 74
    Par défaut
    J'ai regardé ton code, mais il y a deux choses que je comprend pas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" value="Afficher" onclick="if(monApplet) {monApplet.testDate('this.form.dateDebut.value', 'this.form.dateFin.value');}">
    Pourquoi mets tu des guillemets aux arguments passé a ta fonction.
    Si je me trompe pas, ton applet doit recevoir this.form.dateDebut au lieu de la date, et je pense pas que c'est le but recherché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     public void testDate(String dateDebut, String dateFin) {
     
            isNewChart = true;
            init();
    }
    D'apres ta fonction, les arguments que tu envoie ne servent à rien comme ils ne sont pas utilisé.

  3. #3
    Membre confirmé Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Par défaut
    J'ai trouvé la solution à mon problème !!!
    En fait dans ma fonction testDate(...), que j'ai modifié depuis mon dernier post..., je ne recharger pas mon Container et je n'avais donc jamais mon nouveau graphique à l'écran...
    Voici mon code pour mes fonction init() et testDate(...):
    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
    public void init() {
            dataset = createDataset();
            chart = createChart(dataset);
     
            // add the chart to a panel...
            chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new Dimension(900,600));
     
            chartPanel.setPopupMenu(null);
            content.add(chartPanel);    
        }
     
     public void testDate(String dateDebut, String dateFin) {
     
            dataset = createDatasetTest();
            chart = createChart(dataset);
     
            chartPanel.setChart(null);
            chartPanel.setChart(chart);
            chartPanel.repaint();
     
            content.repaint();
     
        }
    Pour répondre à ta question docr1, en fait je suis en train de faire des tests et pour le moment je ne me sert pas des arguments passés à ma fonction mais puisque je n'ai plus de bug je vais maintenant pouvoir les utiliser en enlevant les guillemets car c'est bien des dates que je veux récupérer.
    En tout cas merci pour ton aide et à tout ceux qui ont essayé de trouver une solution à mon problème.

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

Discussions similaires

  1. APS.NET 2.0 - Modification <@ register dynamiquement
    Par Targos dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/07/2008, 12h04
  2. Aide pour modification d'un menu dynamique
    Par GarGamel55 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/09/2005, 18h29
  3. [conception] applet dynamique malgre ses restriction
    Par romuluslepunk dans le forum Applets
    Réponses: 11
    Dernier message: 06/09/2005, 15h53
  4. [JTree] Modification dynamique du texte à afficher
    Par jIdJo dans le forum Composants
    Réponses: 2
    Dernier message: 17/06/2005, 16h49
  5. [Applet] Modifier dynamiquement la mise en page
    Par Amnesiak dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/09/2004, 11h49

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