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. #61
    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
    Ouep. Mais en fait je me demande pourquoi avoir créer cette classe CR_promotelec car j'avais déjà créer MyView qui est une classe comportant tous mes labels.
    Mais on ma dit de créer la classe CR_promotelec qui contient les labels existants de la classe MyView. Mais moi ce que j'ai fais c'est que j'ai recréé la même chose en fait(est-ce que j'ai donc besoin d'un constructeur finalement)?

    Bon si je vous embrouille ne vous souciez pas pas de sa. Même en rajoutant composite sa ne fonctionne pas.

    Encore merci

  2. #62
    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
    ...Mais on ma dit...


    Hum... es-tu bien sur de savoir ce que tu veux obtenir ?

    J'ai l'impression que tu t'emmeles un peu (voir beaucoup) les pinceaux et par la même occasion, les notres aussi...

    Si j'ai bien compris, ce que tu souhaites obtenir, c'est une application graphique qui charge les données d'un fichier dans les champs (Label) de ton interface ?

    Allons y par étapes successives. Dans un premier temps, avant d'alimenter ton interface, as-tu créé ton interface avec tes champs ? as-tu réussi à l'afficher vide ?

  3. #63
    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
    oui, c'est tout à fait cela.

    Donc oui, j'arrive à afficher mon interface avec les labels vide. Cette interface est créée dans ma classe MyView.

  4. #64
    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 on va laisser tomber ta classe CR_promotelec.

    Pour lire ton fichier, tu as créé une classe ?

  5. #65
    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 j'ai tous mis dans la classe application. Je pense quetu parles du fichier text. Ouep dans ma classe Application j'ai fais 2 fonctions, une qui me recherche le fichier text le plus récent d'un répertoire et l'autre l'autre qui m'ouvre et me lit les données qu'il ya dedans.

    Voici la classe Application et ce que sa m'affiche dans la console :
    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
     
     
    package 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; //instanciation d'un objet de la classe CR_promotelec dans laquelle je décrit mes labels
    	//public MyView VF;
     
     
    	public Object run(Object args) throws Exception {
    		Display display = PlatformUI.createDisplay();
    		//CR =  new CR_promotelec();
    		//VF = new  MyView();
     
     
    		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("categorie");
    	             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);
    			//System.out.println(CR.getCategorie().toString());
              /*  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);*/
     
    			//System.out.println(CR.getCatégorie());
    		try {
    			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
    			if (returnCode == PlatformUI.RETURN_RESTART) {
    				return IPlatformRunnable.EXIT_RESTART;
     
    			}
    			return IPlatformRunnable.EXIT_OK;
    		} finally {
    			display.dispose();
    		}
    	}
    		return args;
     
     
     
    	}
     
    }
    Le fichier le plus récent du répertoire C:/temp est Promo_act.txt

    nom=MAS
    prénom=Sébastien
    société=Livinfo
    fonction=Directeur Commercial
    date=26\01\2007
    Sébastien travaille dans la societe Livinfo


    Ci-joint un screen de l'appli
    Images attachées Images attachées  

  6. #66
    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 il faut que tu revoies ta methode run() pour ne plus utiliser CR_promotelec comme classe pour l'interface graphique mais MyView.

    Ensuite, il faut que tu enrichisses ou modifies MyView pour que Application puisse modifier les 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
    ...
    
    public class Application {
    
        private MyView myView;
        ...
    
        public Object run(Object args) throws Exception {
            myView = new MyView(paramètres du constructeur);
    
            myView.setCategorie(categorie);
        }
    
        ...
    }
    La methode setCategorie de ta classe MyView devra mettre à jour le Label de ton interface qui doit contenir la donnée categorie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
    
    public class MyView {
        ...
    
        public void setCategorie(String categorie) {
            Code de mise à jour du Label devant contenir la categorie
        }
    
        ...
    }

  7. #67
    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,

    j'ai fais les 2, 3 modifs que tu m'as indiqué à part dans la classe MyView.
    J'ai donc déjà une méthode setCategorie mais déjà en paramètre elle a un label puis je sais pas si ce qu'il y a dedans je l'enlève ou est-ce qu'il faut que je rajoute quelque chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void setCategorie(Label categorie) {
    this.categorie = categorie;
    		}
    petite précision : voici mon constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public MyView() {
    super();
                          }
    Encore merci à toi. Je sens qu'on est proche de la résolution finale.

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

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