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 :

[Debug] Opérateur Java


Sujet :

Langage Java

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Pour le rate je sais très bien ce que c'est. Mais comme je n'arrive pas à comprendre exactement ce qu'il faut au final, cela pouvait être une source de solution.
    Je ne comprends pas si
    Le but n'est bien évidemment pas de cliquer 1158 fois pour avoir l'image 58.
    alors quel est le but exact.
    faire des vignettes comme pour un DVD?
    faire une avance image par image?
    faire une avance seconde par seconde?
    déterminer sur quel image on est?
    afficher toutes les images d'une seconde?

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 38
    Par défaut operateur java
    Bonjour,

    Alors le but est de faire une avance seconde par seconde (sachant qu'il y a 24 images en 1 seconde). Cela fonctionne très bien mais on ne sait pas vraiment sur quelle image on est :
    image 0, image 24, image 48... image 1158...

    Donc là on avance seconde par seconde mais moi je voulais qu'en plus on change les chiffres affichés dans l'interface graphique :
    image 0, image 1 (à la place de 24), image 2 (à la place de 48)...
    Car dans la base de données j'ai numérotés ces images ainsi et c'est bien plus pratique que de diviser le nombre affiché avec une calculatrice ou de cliquer 1158 fois.

    Si je ne suis pas assez claire n'hésitez pas à me le dire.

    Je vous remercie pour votre grande patience

    Véro

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Alors le but est de faire une avance seconde par seconde (sachant qu'il y a 24 images en 1 seconde). Cela fonctionne très bien mais on ne sait pas vraiment sur quelle image on est :
    image 0, image 24, image 48... image 1158...
    Si je comprends bien l'interface existante affiche déjà image 0, image 24,...

    C'est alors très simple, il suffit de retrouver l'endroit dans le code où l'on créée l'affichage de "image xxx".

    On a peut-être (par exemple) pour un JLabel positionImage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    positionImage.setText("image "+numImage);
    C'est donc à cet endroit qu'il faudra changer en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    positionImage.setText("image "+(numImage+1)/24);
    Maintenant le JLabel est un exemple car cela peut être tout autre chose comme un JButton par exemple etc...
    C'est difficile à dire quand on ne connait pas le code. Mais il faut vraiment retrouver l'endroit où se fait l'affichage.

    En espérant que cela puisse vous aider.

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Car dans la base de données j'ai numérotés ces images ainsi et c'est bien plus pratique que de diviser le nombre affiché avec une calculatrice ou de cliquer 1158 fois.
    ce que l'on peut faire c'est que dans la requête de la base de donnée on fasse la recherche à partir du numéro que l'on voit sur l'interface actuelle soit par exemple quand on est sur 1151, on doit retrouver l'image se trouvant à ((1151+1)/24) soit (1152/24) => 48.
    Il suffit donc de rajouter ce calcul dans la requête.
    par exemple

    SELECT image FROM tableImage WHERE numero = numeroRecu

    deviendra

    SELECT image FROM tableImage WHERE numero = ((numeroRecu+1)/24)


    Si cela ne répond toujours pas à la question.
    Il faudrait un peu plus de précision sur l'interface graphique ou du moins plus de précision sur l'endroit du code où l'on remplit le JPanel.

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 38
    Par défaut operateur java
    Bonjour,

    J'ai joint un fichier où j'ai collé une copie d'écran de la partie qui me pose un problème.

    Avec j'ai mis le code qui affiche ce numero image. Peut-être que ce sera plus facile à comprendre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     C'est donc à cet endroit qu'il faudra changer en 
     
    <div style="text-align: left;">positionImage.setText("image "+(numImage+1)/24);
    </div>
    ça je l'ai déjà fait mais cela ne marche pas. J'ai pratiquement afficher tout le code de cette page mais en plusieurs parties, il suffit de voir plus haut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ce que l'on peut faire c'est que dans la requête de la base de donnée on fasse la recherche à partir du numéro que l'on voit sur l'interface actuelle soit par exemple quand on est sur 1151, on doit retrouver l'image se trouvant à ((1151+1)/24) soit (1152/24) => 48.
     Il suffit donc de rajouter ce calcul dans la requête.
    Le problème c'est que ce n'est pas une requête qui gère cela, c'est tout simplement en faisant avancer QT qu'on a le résultat (suis-je assez claire ?)

    En tout cas je vous remercie vraiment de votre aide

    Véro
    Fichiers attachés Fichiers attachés

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Merci pour l'image et le code.

    Comme je le vois dans un des messages précédent :

    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 class visionneuse extends Frame implements Printable, ActionListener, ItemListener, StdQTConstants, Errors { //supprimé : AdjustmentListener, 
     
        GridBagLayout gridbag;
        GridBagConstraints constraint;
        Frame fenprinc;
        utilitaire utilitaire = new utilitaire();
     
        Label numero;
        String nom_video, chemin;
        int numero_image;
        Scrollbar bare_def;
     
        QTCanvas video;
        canvas2 image;
    numero_image est un int donc le code actuel devrait fonctionner.
    A moins que numero_image ne soit d'un autre type au moment où l'on veut le rajouter dans le Label numero.

    Il y a quelques remarques sur le code actuel :

    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
    Panel num_image = new Panel();
    num_image.setLayout(new GridLayout(1,2));
    
    Label chaine = new Label("image qu'il faudra diviser par 24 :");
    int numeroDivise = numero_image/24;
    Label numero = new Label(""+ numeroDivise);
    	
    num_image.add(chaine);
    num_image.add(numero);
            
    // pourquoi rajouter deux fois les mêmes labels ?        
    // num_image.add(chaine);
    // num_image.add(numero);
    		
    constraint.gridx = 0;
    constraint.gridy++;
    gridbag.setConstraints(num_image, constraint);        
    add(num_image);
    Si ceci ne résoud rien.

    Je propose de récupèrer le contenu du label numero et de le retravailler pour le remettre correctement ensuite.
    Pour ce faire :
    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
    Panel num_image = new Panel();
    num_image.setLayout(new GridLayout(1,2));
    
    Label chaine = new Label("image qu'il faudra diviser par 24 :");
    Label numero = new Label(""+ ((numero_image)/24));
    	
    
    // On récupère le contenu du Label numero dans une chaîne de caractère
    String stringNumeroADiviser=numero.getText();
    // on convertit cette chaîne en un nombre entier
    // il est bien évident que l'on devra rajouter des tests afin d'être sûr que cela
    // soit bien un nombre entier. Sinon on ne pourra pas exécuter la suite du code
    int intNumeroADiviser = Integer.parseInt(stringNumeroADiviser);
    // on divise ce nombre par 24
    intNumeroADiviser = intNumeroADiviser/24;
    // on remet le résultat dans le Label numero
    numero.seText(""+intNumeroADiviser);
    
    num_image.add(chaine);
    num_image.add(numero);
            
    constraint.gridx = 0;
    constraint.gridy++;
    gridbag.setConstraints(num_image, constraint);        
    add(num_image);
    Cette solution devrait être efficace.
    Mais le mieux reste de vérifier le type actuel de numero_image afin de comprendre le dysfonctionnement du code actuel.

    En espérant avoir été assez clair et surtout avoir solutionné le problème

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 38
    Par défaut
    Bonjour,

    Alors la première solution ne fonctionne pas car le compteur reste à 0.

    Pour la deuxième solution il fait la même chose (le compteur reste à 0).

    Le type de numero_image est bien int.

    Je te remercie de te donner tout ce mal.

    Véro

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Est-ce que pour la deuxième solution, il n'y aurait pas un message d'erreur dans la console lors de l'exécution?

    Sinon il faudrait peut-être remettre
    num_image.add(chaine);
    num_image.add(numero);
    et retirer le Label

    Cela donnerait

    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
    Panel num_image = new Panel();
    num_image.setLayout(new GridLayout(1,2));
    Label chaine = new Label("image qu'il faudra diviser par 24 :");
    /*Label*/ numero = new Label(""+ ((numero_image)/24));
    // On récupère le contenu du Label numero dans une chaîne de caractère String stringNumeroADiviser=numero.getText();
    // on convertit cette chaîne en un nombre entier
    // il est bien évident que l'on devra rajouter des tests afin d'être sûr que cela
    // soit bien un nombre entier. Sinon on ne pourra pas exécuter la suite du code
    int intNumeroADiviser = Integer.parseInt(stringNumeroADiviser);
    // on divise ce nombre par 24 intNumeroADiviser = intNumeroADiviser/24;
    // on remet le résultat dans le Label numero numero.seText(""+intNumeroADiviser);
    num_image.add(chaine);
    num_image.add(numero);
    num_image.add(chaine);
    num_image.add(numero);
    constraint.gridx = 0;
    constraint.gridy++;
    gridbag.setConstraints(num_image, constraint);
    add(num_image);

  9. #29
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    Si cela ne fonctionne pas c'est qu'il y a un autre endroit où l'on remplit le Label numero.

  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 38
    Par défaut operateur java
    Bonjour,

    Alors je suis au regret de t'annoncer que cela ne fonctionne toujours pas, il compte à nouveau de 24 en 24.

    Je pense que je vais laisser tomber et le laisser tel quel parce que je vous ai assez embêté.

    En tout cas je te remercie pour tout le mal que tu t'es donné et je suis désolée que cela n'a pas fonctionné.

    Merci

    Véro

  11. #31
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 65
    Par défaut
    oups erreur de ma part
    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
    Panel num_image = new Panel();
    num_image.setLayout(new GridLayout(1,2));
    Label chaine = new Label("image qu'il faudra diviser par 24 :");
    /*Label*/ numero = new Label(""+ ((numero_image)/24));
    // On récupère le contenu du Label numero dans une chaîne de caractère String stringNumeroADiviser=numero.getText();
    // on convertit cette chaîne en un nombre entier
    // il est bien évident que l'on devra rajouter des tests afin d'être sûr que cela
    // soit bien un nombre entier. Sinon on ne pourra pas exécuter la suite du code
    int intNumeroADiviser = Integer.parseInt(stringNumeroADiviser);
    // on divise ce nombre par 24 intNumeroADiviser = intNumeroADiviser/24;
    // on remet le résultat dans le Label numero 
    numero.seText(""+intNumeroADiviser);
    num_image.add(chaine);
    num_image.add(numero);
    num_image.add(chaine);
    num_image.add(numero);
    constraint.gridx = 0;
    constraint.gridy++;
    gridbag.setConstraints(num_image, constraint);
    add(num_image);

  12. #32
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 38
    Par défaut
    Bonjour,

    J'avais rectifié l'erreur hier (je progresse !!), mais comme je te l'ai dit le compteur avance de 24 en 24.
    On va laisser tomber et je ne voudrais pas monopoliser ce forum et vous faire perdre votre temps.

    Merci pour tout

    Véro

Discussions similaires

  1. [JAVA] Debug de procédures stockées java
    Par jproto dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 06/06/2008, 16h14
  2. [Debug] Rediriger les exceptions JAVA dans un log
    Par matt8-5 dans le forum Logging
    Réponses: 3
    Dernier message: 25/01/2008, 12h34
  3. [Expert] Remote debugging of Java application
    Par Grand sorcier dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 01/06/2006, 15h51
  4. [Debutant][Lotus Notes Domino]Debug d'un agent java
    Par Wisefool dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/01/2005, 14h25
  5. [Debutant(e)]Debug Java sous Eclipse
    Par Jean_Benoit dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 13/01/2005, 11h51

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