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

Langage Java Discussion :

intégration d'un résultat dans une application.


Sujet :

Langage Java

  1. #41
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par kifouillou
    Bonjour,

    j'ai cherché de mon coté mais hélas je n'avance toujours pas. N'auriez vous toujours pas d'idée sur mon problème que je crois sans solution?

    Encore merci d'avance
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème

    Donc comme je le disais dans mon post précédent, il faut lorsque tu instancies tes Labels que tu passes les bons paramètres au constructeur, d'après la classe qui te sert d'exemple, le constructeur d'un Label attend :
    - 1 objet de type Group
    - 1 int

    Donc dans le constructeur de ta classe CR_promotelec, tu dois instancier tes Label en passant en paramétre un Group et un int.

  2. #42
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    salut,

    Merci beacoup encore et toujours pour les réponses qui me sont apportées.
    Je ne comprends pas bien :
    il faut lorsque tu instancies tes Labels que tu passes les bons paramètres au constructeur, d'après la classe qui te sert d'exemple, le constructeur d'un Label attend :
    - 1 objet de type Group
    - 1 int

    Donc dans le constructeur de ta classe CR_promotelec, tu dois instancier tes Label en passant en paramétre un Group et un int.
    Je suis malade c'est surement pour sa que j'ai du mal.Merci.

  3. #43
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Tu dois compléter le constructeur de ta classe CR_promotelec comme indiqué ci-dessous (évolutions en rouges) :
    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
    public class CR_promotelec {
        //Attributs
        Group group = null;
        Label Catégorie = null;
        //...
     
        public CR_promotelec() {
            group = new Group(...);
            Catégorie = new Label(group, SWT.LEFT);
        }
     
        public void setCatégorie(String catégorie) {
            Catégorie.setText(catégorie);
        }
     
        public void setCatégorie(Label catégorie) {
            Catégorie = catégorie;
        }
     
        //...
    }
    Attention : Comme pour ton Label Catégorie, tu dois instancier ton objet de type Group avec les bons paramètres. Je ne connais pas SWT mais tu dois pouvoir trouver ton bonheur ici

  4. #44
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Yop,

    merci. Bon hélas sa ne fonctionne toujours pas. Sa me met toujours les mêmes erreurs. Pourtant initialisé les composants dans le constructeur comme tu me l'avais dit.

    C'est bizarre comme un problème simple semble finalement compliqué. Mais bon sa je pense que cela vient de mon code car apparemment il ne devrait y avoir aucune raison pou que cela bloque.

    En tout cas j'apprécie votre patience d'archange.

  5. #45
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Quel message d'erreur as-tu ?

  6. #46
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Re,

    voici les 3 différents messages d'erreurs détaillés:

    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
     
    java.lang.IllegalArgumentException: Argument cannot be null
    at org.eclipse.swt.SWT.error(SWT.java:3358)
    at org.eclipse.swt.SWT.error(SWT.java:3297)
    at org.eclipse.swt.SWT.error(SWT.java:3268)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:435)
    at org.eclipse.swt.widgets.Widget.checkParent(Widget.java:267)
    at org.eclipse.swt.widgets.Widget.<init>(Widget.java:141)
    at org.eclipse.swt.widgets.Control.<init>(Control.java:96)
    at org.eclipse.swt.widgets.Scrollable.<init>(Scrollable.java:72)
    at org.eclipse.swt.widgets.Composite.<init>(Composite.java:93)
    at org.eclipse.swt.widgets.Group.<init>(Group.java:113)
    at com.promotelec.exemple.CR_promotelec.<init>(CR_promotelec.java:154)
    at com.promotelec.exemple.Application.run(Application.java:99)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
    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
     
    java.lang.NullPointerException
    at com.promotelec.exemple.Application.run(Application.java:138)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
    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
     
    java.lang.NullPointerException
    at com.promotelec.exemple.MyView$1.widgetSelected(MyView.java:355)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937)
    at org.eclipse.swt.widgets.TabFolder.createItem(TabFolder.java:242)
    at org.eclipse.swt.widgets.TabItem.<init>(TabItem.java:70)
    at com.promotelec.exemple.MyView.createPartControl(MyView.java:365)
    at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:332)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
    at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
    at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:525)
    at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
    at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
    at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394)
    at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144)
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097)
    at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1311)
    at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:601)
    at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:532)
    at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:562)
    at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:244)
    at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:815)
    at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2436)
    at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:2616)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2597)
    at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:658)
    at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:795)
    at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1437)
    at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1388)
    at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
    at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:708)
    at org.eclipse.ui.internal.Workbench.init(Workbench.java:1085)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1847)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at com.promotelec.exemple.Application.run(Application.java:150)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
    Merci encore.

  7. #47
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    qu'as-tu comme code à la ligne 138 de ta classe Application ?
    at com.promotelec.exemple.Application.run(Application.java:138)
    A priori vu le message d'erreur, tu dois :
    - soit passer un objet non instancié à une méthode
    - soit tenter d'affecter le résultat d'une méthode à un objet non instancié

  8. #48
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Voici ce que contient la ligne 138 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CR.getCatégorie().setText(categorie);

  9. #49
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    ok, donc tu n'as pas modifié ta classe CR_promotelec comme je te l'ai indiqué plus haut.

    Le problème est toujours le même, tu essaies de travailler avec des objets qui ne sont pas instanciés.

  10. #50
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    ben pourtant si. J'ai bien rajouté ce que tu m'as au constructeur,

    donc j'ai bien mis des new et j'ai tout déclaré.
    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
     
                 private Group group = null;
    	private Label RS = null;
    	private Label contact = null;
    	private Label fonction = null;
    	private Label adresse = null;
                 ...
    public CR_promotelec(){
     
            group = new Group(composite ,SWT.NONE);
            Catégorie = new Label(group, SWT.LEFT);
            adresse = new Label(group, SWT.LEFT);
            contact = new Label(group, SWT.LEFT);
            date = new Label(group, SWT.LEFT);
            ville = new Label(group, SWT.LEFT);
            heure = new Label(group, SWT.LEFT);
            durée = new Label(group, SWT.LEFT);
            fonction = new Label(group, SWT.LEFT);
            RS = new Label(group, SWT.LEFT);

  11. #51
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Peux-tu mettre le code complet de tes deux classes (Application et CR_promotelec) car dans ce cas, je ne comprend pas d'où vient le problème.

    Ensuite, je ne comprend pas non plus pourquoi tu as toujours cette ligne dans ton code :
    CR.getCatégorie().setText(categorie);
    modifies ta classe CR_promotelec pour avoir une methode te permettant directement d'écrire :
    De plus, supprime les accents de ton code, ca fonctionnent peut être avec, mais c'est prendre un risque inutile que d'utiliser des caractères accentués.

  12. #52
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Salut,

    Merci pour ces précisions.

    Voici la classe Cr_promotelec :

    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
     
    package com.promotelec.exemple;
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Button;
    import org.eclipse.swt.widgets.Combo;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Group;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Text;
     
    public class CR_promotelec {
     
     
     
    	private Group group = null;	
    	private Label RS = null;
    	private Label contact = null;
    	private Label fonction = null;
    	private Label adresse = null;	
    	private Label durée = null;
    	private Label date = null;
    	private Label heure = null;
    	private Label ville = null;	
    	private Label Catégorie = null;
    	private Composite composite = null;
     
    	 public CR_promotelec(){
     
    		group = new Group(composite ,SWT.NONE);
            Catégorie = new Label(group, SWT.LEFT);
            adresse = new Label(group, SWT.LEFT);
            contact = new Label(group, SWT.LEFT);
            date = new Label(group, SWT.LEFT);
            ville = new Label(group, SWT.LEFT);
            heure = new Label(group, SWT.LEFT);
            durée = new Label(group, SWT.LEFT);
            fonction = new Label(group, SWT.LEFT);
            RS = new Label(group, SWT.LEFT);
     
     
    	}
     
    	public Label getAdresse() {
    		return adresse;
    	}
    	public void setAdresse(Label adresse) {
    		this.adresse = adresse;
    	}
    	public Label getCatégorie() {
    		return Catégorie;
    	}
    	public void setCatégorie(Label catégorie) {
    		Catégorie = catégorie;
    	}
    			}
    								public Label getContact() {
    		return contact;
    	}
    	public void setContact(Label contact) {
    		this.contact = contact;
    	}
    	public Label getDate() {
    		return date;
    	}
    	public void setDate(Label date) {
    		this.date = date;
    	}
    	public Label getDurée() {
    		return durée;
    	}
    	public void setDurée(Label durée) {
    		this.durée = durée;
    	}
    	public Label getFonction() {
    		return fonction;
    	}
    	public void setFonction(Label fonction) {
    		this.fonction = fonction;
    	}
    	public Group getGroup() {
    		return group;
    	}
    	public void setGroup(Group group) {
    		this.group = group;
    	}
    	public Label getHeure() {
    		return heure;
    	}
    	public void setHeure(Label heure) {
    		this.heure = heure;
    	}
     
    	public Label getVille() {
    		return ville;
    	}
    	public void setVille(Label ville) {
    		this.ville = ville;
    	}
     
     
     
     
    	public void initialize(){
     
    	}
     
    	}
    Voici maintenant la classe Application :
    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
     
    ackage com.promotelec.exemple;
     
    import org.eclipse.core.runtime.IPlatformRunnable;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.ui.PlatformUI;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;
     
     
    /**
     * This class controls all aspects of the application's execution
     */
    public class Application implements IPlatformRunnable {
     
     
     
    	private File getMostRecentFile(String directoryPath) {
    		File directory = new File(directoryPath);
    		File moreRecentFile = null;
     
    		// verification des parametres
    		if(!directory.exists()){
    			System.out.println("Le fichier/répertoire '"+directoryPath+"' n'existe pas");
    			return null;
    		}
    		if(!directory.isDirectory()){
    			System.out.println("Le chemin '"+directoryPath+"' correspond à un fichier et non à un répertoire");
    			return null;
    		}
     
    		// liste des fichiers "*.txt"
    		File[] files = directory.listFiles(
    			new FilenameFilter() {
    				public boolean accept(File dir, String name) {
    					return name.toLowerCase().endsWith(".txt");
    				}
    			}
    		);
     
    		// cas alternatif: pas de fichiers "*.txt"
    		if (files.length==0) {
    			System.out.println("Pas de fichier texte");
    			return null;
    		}
     
    		// cas general: parcours et memorise le plus recent fichier
    		moreRecentFile=files[0];
    		for(File f:files) {
    			if (f.lastModified()>moreRecentFile.lastModified()) 
    				moreRecentFile = f;
    		}
     
    		System.out.println("Le fichier le plus récent du répertoire "+directoryPath +" est "+moreRecentFile.getName());
    		return moreRecentFile;
    	}
     
    	private Map<String,String> getFileContentAsMap(File file) throws IOException {
    		// verification des parametres
    		if (file==null) return null;
     
    		// flux de lecture du fichier
    		BufferedReader in = new BufferedReader(new FileReader(file));
     
    		// lecture 1ere ligne
     
    		String str = in.readLine();
    		String[] column = str.split("\t");
     
    		// lecture 2nde ligne
    		Map<String,String> map = new HashMap<String,String>();
    		str = in.readLine();
    		String values[] = str.split("\t");
    		for(int i=0;i<values.length;i++)  {
    			if (i>=column.length) break;  // plus de données que de colonne -> exit 
    			map.put(column[i],values[i]);
    			System.out.println(column[i]+"="+values[i]);
     
     
     
    		}
     
    		in.close();
    		return map;
    	}
     
    	public CR_promotelec CR;	
     
     
    	public Object run(Object args) throws Exception {
    		Display display = PlatformUI.createDisplay();
    		CR =  new CR_promotelec();
     
     
     
    		Properties prop = new Properties();
    		try {
     
     
     
    			prop.load(new FileInputStream("C:\\Temp\\promo_act.properties"));
     
     
    	        String repertoire = prop.getProperty("repertoireEchange");	
     
    	        System.out.println(repertoire);
     
    	             } catch (Exception e) {
    	        System.out.println("Erreur Exception" + e);
    	    }
    	             Application finder = new Application();
    	             File f = finder.getMostRecentFile("C:\\Temp");
    	             Map<String,String> map = getFileContentAsMap(f);
     
    	             String nom = map.get("contact");      // nom d'une colonne tel que dans la 1ere ligne du fichier
    	 	 String societe = map.get("RS");
    	             String date = map.get("date");
    	             String duree = map.get("durée");
    	             String categorie = map.get("catégorie");
    	             String heure = map.get("heure");
    	             String fonction = map.get("fonction");
    	             String adresse = map.get("adresse");
    	             String ville = map.get("ville");
     
     
     
     
    		if (map!=null) {
     
    			System.out.println(nom + " travaille dans la societe " + societe + " dans la ville de" + ville);
    			CR.getCatégorie().setText(categorie);
                CR.getAdresse().setText(adresse);
                CR.getDate().setText(date);
                CR.getFonction().setText(fonction);
                CR.getVille().setText(ville);
                CR.getHeure().setText(heure);
                CR.getDurée().setText(duree);
                CR.getRS().setText(societe);
                CR.getContact().setText(nom);
    Voilà. J'espère qu'avec cela tu trouveras peut-être la solution. Encore merci.

  13. #53
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 37
    Points
    37
    Par défaut
    L'erreur vient du fait que tu instancie un Object Group avec un Object composite qui est null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        public CR_promotelec(){
            group = new Group(composite ,SWT.NONE);
            ...
        }
    Il faudrait que tu aies un constructeur du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        public CR_promotelec(Composite composite){
            this.composite = composite;
            group = new Group(composite ,SWT.NONE);
            ...
        }

  14. #54
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Re,
    Merci beacoup.
    Voilà j'ai modifié le constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public CR_promotelec(Composite composite){
     
    		this.composite = composite;
    		group = new Group(composite ,SWT.NONE);
    J'ai enlevé les accents. Puis j'ai fais une méthode d'initialisation dans CR_promotelec avec mes get :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void initialize(){
     
    	this.getAdresse();
    	this.getVille();
    	this.getDate();
    	this.getHeure();
    	this.getDurée();
    	this.getContact();
    	this.getCategorie();
    	this.getAdresse();
    	this.getRS();
    	this.getFonction();
    	}
    Mais hélas ces petits changements ne suffisent pas je crois. Vous voyez d'autres choses?

  15. #55
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Re,

    bon. Je vais reprendre depuis le début.

    - J'ai ma classe CR_promotelec.
    - J'ai un label (donc du SWT) que j'ai appelé Categorie.
    - J'ai généré des getters et setters de ce label.

    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
     
    package com.promotelec.exemple;
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Button;
    import org.eclipse.swt.widgets.Combo;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Group;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Text;
     
    public class CR_promotelec {
     
     
     
    	private Group group = null;
    	private Label categorie = null;
     
        public CR_promotelec(Composite composite){
     
    		this.composite = composite;
    		group = new Group(composite ,SWT.NONE);
                              categorie = new Label(group, SWT.LEFT);}
     
    public Label getCategorie() {
    		return categorie;
    	}
    	public void setCategorie(Label categorie) {
    		categorie = categorie;
    	}
    }
    Dans ma classe ou j'ai besoin de ce label, j'ai instancié un objet en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public CR_promotelec CR;
    CR =  new CR_promotelec();
    Pour le moment dans ce label je n'ai rien. Il faut que j'y insère du text.
    Donc je récupère une valeur de mon fichier text qui est dans un hasmap :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String categorie = map.get("categorie");
    Donc voilà. Je reprends depuis là. Dois-je rajouter des choses dans ma classe CR_promotelec et dans la classe qui l'appelle?

  16. #56
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    J'ai des messages d'erreur dans tous les sens en récupérant ton code...

    Peux-tu remplacer la ligne suivante dans ta classe Application :
    CR.getCatégorie().setText(categorie);
    par
    System.out.println(CR.getCatégorie().toString());

    Et me dire ce que ca t'affiche ?

  17. #57
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Sa me génère tout plein d' erreur et sa me dit :

    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
     
    java.lang.NullPointerException
    at com.promotelec.exemple.Application.run(Application.java:138)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)

  18. #58
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    La commande System.out.println(CR.getCatégorie().toString()) ne t'affiche rien ?

    Dans ce cas, ton problème vient de l'instanciation de CR (Objet de type CR_promotelec).
    La ligne suivante dans Application devrait te générer une erreur :
    CR = new CR_promotelec();

  19. #59
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Non la commande que tu m'as donné ne m'affiche rien dans la console.
    Dans une des multiples erreurs qui apparait dans le journal d'erreur j'ai sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.lang.IllegalArgumentException: Argument cannot be null
    at com.promotelec.exemple.Application.run(Application.java:99)
    La ligne 99 c'est mon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CR = new CR_promotelec();

  20. #60
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Ok, c'est tout à fait logique...

    Tu as modifié le constructeur de ta classe CR_promotelec pour qu'il prenne en paramètre un objet de type Composite et lorsque tu instancies ton objet CR, tu ne passes pas d'objet de type Composite au constructeur...

    Il faut donc que tu revois soit ton constructeur pour supprimer le paramètre, soit ton instanciation pour passer au constructeur un objet de type Composite.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/07/2014, 04h12
  2. Intégration d'un webmail dans une application Web J2EE
    Par javabreaker dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 21/06/2013, 15h09
  3. Intégration de développements web dans une application mobile
    Par mike35000 dans le forum Architecture
    Réponses: 2
    Dernier message: 15/05/2012, 20h46
  4. Réponses: 2
    Dernier message: 05/03/2012, 18h33
  5. Intègration du code Ruby dans une application web Java
    Par L'aigle de Carthage dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 04/06/2011, 00h28

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