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 :

Positionner objet en fonction d'une date sur une frise chronologique


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Positionner objet en fonction d'une date sur une frise chronologique
    Bonjour à tous,

    J'ai beau me creuser la tête, je ne trouve pas comment faire pour placer mes pictogrammes en dessous de la bonne date récupérée dans une base de donnée MySQL.
    Ma JApplet charge 20 dates passées, 20 dates futures et la date courante ( label 20 ). Ces dates sont renouvelées à chaque mouseReleased lorsqu'on effectue un dragg dans la fenêtre.

    Une image sera plus explicite:



    Après un dragg:



    Ici, j'ai placé un pictogramme à une position précise ( bouge avec la souris ).

    Ce que je voudrais c'est qu'avec les dates que je récupère d'une base de donnée MySQL je positionne un pictogramme en dessous du label de même date.

    Je précise que la récupération des dates est faite, elles sont stockées dans un tableau de dates.

    Auriez-vous une idée de comment je pourrais m'y prendre?

    PS: je ne peux pas vous donner mon code pour récupérer les dates car elle effectue une connexion sur un serveur sécurisé où une identification est nécessaire.

    Merci de vos réponses!

    Méthode qui récupère la date:
    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
        public Date recoiDate(String attribut, int n)
        {
        	List<MonObject> list = MonObject.envoiRequete();
        	Date attributDate [] = new Date [list.size()];
        	//En fonction de l'attribut on renvoi le type de valeur correspondant
        	if (attribut.equals("date_debut"))
        	{
        	for (MonObject object : list) {
        		attributDate [(object.getId_Event())-1] = (object.getDate_Debut());
        	}
        	System.out.println("Il y'a "+list.size()+" dates entrées");
        	System.out.println("Valeur de "+attribut+" de la date n°"+n+" : "+attributDate[n]);
        	}
     
        	return attributDate [n];
        }
    Méthodes pour l'affichage et réactualisation des JLabels de dates:
    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
    	public void chargeDates(Date dates[], int jourDebut, int echelle)
    	{
    		calendar = Calendar.getInstance();
    		//if(echelle==1 || echelle==2 || echelle==3){
    		//calendar.set(annee, mois, jour); //-----------------------
    		//~ System.out.println("CALENDAR =   "+calendar);
    		System.out.println("Jour="+jour+" Mois="+mois+" Annee="+annee);
     
    		if (echelle==0){
    		calendar.add(Calendar.DATE, jourDebut); 
    		for(int i=0; i<41; i++)
    		{
    			dates[i]=calendar.getTime();
    			calendar.add(Calendar.DATE, +1);
     
    			//if(dates[i]==appli.date_debut[i]){
    			//art.setBounds(posFleche+60*i, 50, 200, 200);
    		//	System.out.println("BIIIIIM");}
    		}
    	}
    		if (echelle==1){
    		calendar.add(Calendar.WEEK_OF_MONTH, jourDebut); 
    		for(int i=0; i<41; i++)
    		{
    			dates[i]=calendar.getTime();
    			calendar.add(Calendar.WEEK_OF_MONTH, +1); 
    		}
    	}			
    		if (echelle==2){
    		calendar.add(Calendar.MONTH, jourDebut); 
    		for(int i=0; i<41; i++)
    		{
    			dates[i]=calendar.getTime();
    			calendar.add(Calendar.MONTH, +1); 
    		}
    	}	
    		if (echelle==3){
    		//calendar.set(annee, calendar.get(calendar.MONTH), calendar.get(calendar.DATE)); //-----------------------
    		calendar.add(Calendar.YEAR, jourDebut);
    		for(int i=0; i<41; i++)
    		{
    			dates[i]=calendar.getTime();
    			calendar.add(Calendar.YEAR, +1); 
    		}
    	}
    	//calendar.getInstance();
    	}
     
    	public void positionneLabels()
    	{
    		for(int i=0; i<41; i++)
    		{
    			// les 31 dates sont espacées de ### pixels
    			if (echelle==0 || echelle==1){
    			labDates[i].setBounds(posLabel20+(i-20)*120, 30, 120, 40);}
    			if (echelle==2){
    			labDates[i].setBounds(posLabel20+(i-20)*120, 30, 120, 40);}
    			if (echelle==3){
    			labDates[i].setBounds(posLabel20+(i-20)*120, 30, 120, 40);}
    		}
    		// la flèche est posisionnée sur la date du jour (label20)
    		fleche.setBounds(posFleche, 70, 28, 64);
    		art.setBounds(posFleche-50, 100, 50, 50);
    	}
     
    	public void rechargeLabels(Date dates[])
    	{
    		for(int i=0; i<41; i++)
    		{
    			if (echelle==0){
    			labDates[i].setText("lab"+i+":"+simpleFormatDay.format(dates[i]));
    				labDates[i].setBounds(posInitLabel20+(i-20)*120, 30, 120, 40);}//("lab"+i+":"+sim......
    			if (echelle==1){
    			labDates[i].setText("<html>lab"+i+": Semaine du <br>"+simpleFormatWeek.format(dates[i]));
    				labDates[i].setBounds(posInitLabel20+(i-20)*120, 30, 120, 40);}
    			else if (echelle==2){
    			labDates[i].setText("<html>lab"+i+": Mois de <br>"+simpleFormatMonth.format(dates[i]));
    				labDates[i].setBounds(posInitLabel20+(i-20)*120, 30, 120, 40);}
    			else if (echelle==3){
    			labDates[i].setText("lab"+i+":"+"Année "+simpleFormatYear.format(dates[i]));
    				labDates[i].setBounds(posInitLabel20+(i-20)*120, 30, 120, 40);}
    		}
    		fleche.setBounds(posFleche, 70, 28, 64);
    	}

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    J'vais simplifier ma question peut-être..
    En fait je voudrais faire un test if, quand la date récupérée dans ma BDD est égale à ma date chargée, j'affiche un truc dans la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (simpleFormatDay.format(date_evenement[j]) ==  simpleFormatDay.format(date_chargee[i]))
    				{System.out.println("Yeah Baby!");}
    Mais dans ma console j'ai pas le "Yeah Baby!" :/
    J'ai juste ça:
    date_chargee: 22/03/2008
    date_evenement :22/03/2008
    date_chargee: 23/03/2008
    etc.

    Je ne vois pas où se cache mon erreur...

  3. #3
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    essai avec un equals a la place de tes "=="

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Ton problème est que le formater te renvoi un String et que tu fais == au lieu de equals

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (simpleFormatDay.format(date_evenement[j]).equals( simpleFormatDay.format(date_chargee[i]))){
    				System.out.println("Yeah Baby!");}
    je pense que ca marchera mieux

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Super, merci ça sa marche, je vous tiens au courant si je résous mon problème initial =)

Discussions similaires

  1. [AC-2007] Comparer une date d'une table et une date saisie
    Par minooo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/03/2019, 21h40
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Problème de lenteur due à une selection sur une date [CR 8.5]
    Par Fredifredo dans le forum SAP Crystal Reports
    Réponses: 15
    Dernier message: 13/02/2007, 17h10
  4. comment faire une verification sur une date
    Par alexF dans le forum Delphi
    Réponses: 11
    Dernier message: 10/01/2007, 15h12
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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