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

avec Java Discussion :

Problème d’exécution JVM résultat inattendue !


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut Problème d’exécution JVM résultat inattendue !
    Bonsoir à tous,

    Je développe depuis peux des programmes en Java (je suis des cours au CNAM et tous les développements se font en java) pour mes cours et mon travail.

    J'ai développé une application et le problème que j'ai est que le résultat sur ma machine (Ubuntu) et différent sur mon ordinateur de travail (Windows XP).

    J'utilise le focus sur des champs JTextField et ils ne sont pas du tous pris en compte sur XP !?

    Je pensai qu'une application Java était portable ... ?

    Si vous avez des idées cela m'aiderait vraiment, car je ne voie pas !

    Je ne sais pas trop quelle information intégrer s'il vous faut d'autres précisions n'hésitez pas.

    Merci à tous pour vos réponses.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si tu nous montrait le code, que tu nous expliquait ce qu'il est censé faire et ce qu'il fait de différent d'une machine à l'autre

    Les look and feel sont différent d'un OS à l'autre (question d'intégration) mais du coup, le comportement de certaines parties peut changer. Ce n'est pas un problème sauf si tu commence à bidouiller profond les composants

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut
    Bonsoir ,

    Voici le bout de code :

    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
     
        @Override
        public void focusGained(FocusEvent e) {
            Object source = e.getSource();
     
            Object t[] = {nomClient, prenomClient, adresseClient, codePostalClient, villeClient, telFixeClient, telPortableClient, mailClient, comboCatalog, getFocusJSpinner(poseElement), getFocusJSpinner(poseArmoire),  getFocusJSpinner(poseJoue),  getFocusJSpinner(poseFileur),  getFocusJSpinner(poseCoffreHotte),  getFocusJSpinner(poseAccessoire),  getFocusJSpinner(poseBouton),  getFocusJSpinner(posePDT),  getFocusJSpinner(assemblageStandard),  getFocusJSpinner(assemblageSpecial),  getFocusJSpinner(posePlateauBar),  getFocusJSpinner(decoupePDT),  getFocusJSpinner(poseCredence),  getFocusJSpinner(poseHabillageLV),  getFocusJSpinner(poseHabillageCE),  getFocusJSpinner(poseCorniche),  getFocusJSpinner(poseAlaise),  getFocusJSpinner(poseCacheLumiere),  getFocusJSpinner(installationLV),  getFocusJSpinner(installationMicroOndes),  getFocusJSpinner(changementFerrageFrigo),  getFocusJSpinner(installationFrigo),  getFocusJSpinner(installationFour),  getFocusJSpinner(installationPlaque),  getFocusJSpinner(installationHotteVisiere),  getFocusJSpinner(installationDeco),  getFocusJSpinner(installationIlot),  getFocusJSpinner(installationGroupeAspirant),  getFocusJSpinner(installationEvier),  getFocusJSpinner(installationSpot),  getFocusJSpinner(poseFaience),  getFocusJSpinner(plomberieElectricite),  getFocusJSpinner(deposeCuisine),  getFocusJSpinner(autresTravaux), tva7, tva196, fichierPlanDeMasse, fichierPerspective, informationComplementaire, comboSemaine};
            JLabel l[] = {labelNomClient, labelPrenomClient, labelAdresseClient, labelCodePostalClient, labelVilleClient, labelTelFixeClient, labelTelPortableClient, labelMailClient, labelComboCatalog, labelPoseElement, labelPoseArmoire, labelPoseJoue, labelPoseFileur, labelPoseCoffreHotte, labelPoseAccessoire, labelPoseBouton, labelPosePDT, labelAssemblageStandard, labelAssemblageSpecial, labelPosePlateauBar, labelDecoupePDT, labelPoseCredence, labelPoseHabillageLV, labelPoseHabillageCE, labelPoseCorniche, labelPoseAlaise, labelPoseCacheLumiere, labelInstallationLV, labelInstallationMicroOndes, labelChangementFerrageFrigo, labelInstallationFrigo, labelInstallationFour, labelInstallationPlaque, labelInstallationHotteVisiere, labelInstallationDeco, labelInstallationIlot, labelInstallationGroupeAspirant, labelInstallationEvier, labelInstallationSpot, labelPoseFaience, labelPlomberieElectricite, labelDeposeCuisine, labelAutresTravaux, labelTVA, labelTVA, labelFichierPlanDeMasse, labelFichierPerspective, labelInformationComplementaire, labelComboSemaine};
     
            for (int i = 0; i < t.length; i++) {
                if (source == t[i]) {
                    l[i].setText("<html><font color=orange>" + l[i].getText().toString());
                    this.revalidate();
                }
            }        
        }
     
        @Override
        public void focusLost(FocusEvent e) {
            Object source = e.getSource();
     
            Object t[] = {nomClient, prenomClient, adresseClient, codePostalClient, villeClient, telFixeClient, telPortableClient, mailClient, comboCatalog, getFocusJSpinner(poseElement), getFocusJSpinner(poseArmoire),  getFocusJSpinner(poseJoue),  getFocusJSpinner(poseFileur),  getFocusJSpinner(poseCoffreHotte),  getFocusJSpinner(poseAccessoire),  getFocusJSpinner(poseBouton),  getFocusJSpinner(posePDT),  getFocusJSpinner(assemblageStandard),  getFocusJSpinner(assemblageSpecial),  getFocusJSpinner(posePlateauBar),  getFocusJSpinner(decoupePDT),  getFocusJSpinner(poseCredence),  getFocusJSpinner(poseHabillageLV),  getFocusJSpinner(poseHabillageCE),  getFocusJSpinner(poseCorniche),  getFocusJSpinner(poseAlaise),  getFocusJSpinner(poseCacheLumiere),  getFocusJSpinner(installationLV),  getFocusJSpinner(installationMicroOndes),  getFocusJSpinner(changementFerrageFrigo),  getFocusJSpinner(installationFrigo),  getFocusJSpinner(installationFour),  getFocusJSpinner(installationPlaque),  getFocusJSpinner(installationHotteVisiere),  getFocusJSpinner(installationDeco),  getFocusJSpinner(installationIlot),  getFocusJSpinner(installationGroupeAspirant),  getFocusJSpinner(installationEvier),  getFocusJSpinner(installationSpot),  getFocusJSpinner(poseFaience),  getFocusJSpinner(plomberieElectricite),  getFocusJSpinner(deposeCuisine),  getFocusJSpinner(autresTravaux), tva7, tva196, fichierPlanDeMasse, fichierPerspective, informationComplementaire, comboSemaine};
            JLabel l[] = {labelNomClient, labelPrenomClient, labelAdresseClient, labelCodePostalClient, labelVilleClient, labelTelFixeClient, labelTelPortableClient, labelMailClient, labelComboCatalog, labelPoseElement, labelPoseArmoire, labelPoseJoue, labelPoseFileur, labelPoseCoffreHotte, labelPoseAccessoire, labelPoseBouton, labelPosePDT, labelAssemblageStandard, labelAssemblageSpecial, labelPosePlateauBar, labelDecoupePDT, labelPoseCredence, labelPoseHabillageLV, labelPoseHabillageCE, labelPoseCorniche, labelPoseAlaise, labelPoseCacheLumiere, labelInstallationLV, labelInstallationMicroOndes, labelChangementFerrageFrigo, labelInstallationFrigo, labelInstallationFour, labelInstallationPlaque, labelInstallationHotteVisiere, labelInstallationDeco, labelInstallationIlot, labelInstallationGroupeAspirant, labelInstallationEvier, labelInstallationSpot, labelPoseFaience, labelPlomberieElectricite, labelDeposeCuisine, labelAutresTravaux, labelTVA, labelTVA, labelFichierPlanDeMasse, labelFichierPerspective, labelInformationComplementaire, labelComboSemaine};
     
            for (int i = 0; i < t.length; i++) {
                if (source == t[i]) {
                    l[i].setText(l[i].getText().toString().substring(25));
     
                    this.revalidate();
                }
            }
    Je crée une ArrayList qui contient tout mes JtextField et une autre qui contient tous mes labels afin de pouvoir en changer la couleur lorsque le focus et activer.

    Je te joins une photo, sa marche nickel sur mon ordinateur et je viens de tester sur une VirtualBox avec Windows XP sa marche aussi ! Mais sur le pc de mon travail la couleur n'est pas bonne.

    Il y a aussi deux autres codes qui ne fonctionne pas :

    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
        private void majVille() {
            int cpt = 0;
            this.villeClient.removeAllItems();
            if (this.inseeCodePostal.indexOf(this.codePostalClient.getText()) != -1) {
                for (int i = 0; i < this.inseeCodePostal.size(); i++) {
                    if (this.inseeCodePostal.get(i).equals(this.codePostalClient.getText())) {
                        cpt++;
                    }
     
                }
                for (int j = 0; j < cpt; j++) {
                    this.villeClient.addItem(this.inseeVille.get(this.inseeCodePostal.indexOf(this.codePostalClient.getText()) + j));
                }
            } else {
                this.villeClient.addItem("<html><font color=red>Code postal inconnue !");
                this.codePostalClient.setText("0000");
            }
        }
    et

    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
            // Formatage des champs
     
            if(source == this.nomClient) {
                nomClient.setText(nomClient.getText().toUpperCase());
            }
     
            if(source == this.prenomClient) {
                prenomClient.setText(prenomClient.getText().toUpperCase());
            }
     
            if(source == this.adresseClient) {
                adresseClient.setText(adresseClient.getText().toUpperCase());
            }
     
            if (source == this.codePostalClient) {
                   this.majVille();
            }
    J'ai intégrer dans deux ArrayList tous les codes postaux ainsi que les villes afin de sortir la sélection en fonction de code postal. La pareil sa fonctionne chez moi mais pas sur le pc du travail.

    Merci beaucoup pour votre aide !

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Déjà, au lieu de jouer avec le html, joue avec plutot avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l[i].setForeground(Color.RED);
    (ou une autre color hein)

    Ensuite, au niveau du code, je vois 4 choses qui pourraient coincer:

    1) la méthode focusGained n'est pas appelée
    -> Va falloir déterminer pourquoi, faudra montre un composant qui pose problème et montrer comment tu y a associe le focusListener.

    Mettre un System.out.println("coucou") en tête de méthode pour voir si on passe dedans

    2) la méthode est appelée, mais le test == foire.
    Dans la boucle, ajoute un System.out.println ("Je compare "+...+" a "...");

    3) On fait bien le setText, mais le JLabel ne comprends pas ton html cassé -> je n'y crois pas, tu verrais le code brut dans ce cas là.

    4) Le focus est immédiatement retiré parce qu'un autre sous composant spécifique au lookandfeel le reprend (la popup du JCombobox par exemple).
    -> Faire un System.out.println dans le focusLost

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut
    Je te remercie pour tes réponses !

    Concernant le setForeground(); c'est super je ne connaissait pas cette méthode !

    J'ai placé des System.out.println() un peu partout je vais faire les tests demain.

    Je reviendrai demain soir pour donner les résultats.

    Merci encore pour le temps que tu m'a consacré !

    Bonne fin de soirée et à demain.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par défaut
    Bonjour, alors j'ai effectuer les test et pour le problème de 1, 2 et 3 c'est régler avec la méthode setForeground() et sa marche nickel !

    Par contre pour la mis en forme du texte et la recherche dans le CSV sa plante au niveau du focus et de la source (apparemment).

    Voici l'erreur dans al console :
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.EventQueue.dispatchEvent(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: FenetreCalcu
    lPose.revalidate()V
    ******* at FenetreCalculPose.focusGained(FenetreCalculPose.java:792)
    ******* at java.awt.AWTEventMulticaster.focusGained(Unknown Source)
    ******* at java.awt.Component.processFocusEvent(Unknown Source)
    ******* at java.awt.Component.processEvent(Unknown Source)
    ******* at java.awt.Container.processEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    ******* at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Sour
    ce)
    ******* at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.EventQueue.dispatchEvent(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: FenetreCalcu
    lPose.revalidate()V
    ******* at FenetreCalculPose.focusLost(FenetreCalculPose.java:807)
    Entrer dans focusGained
    class javax.swing.JTextField*** at java.awt.AWTEventMulticaster.focusLost(Unknow
    n Source)

    class javax.swing.JTextField == class javax.swing.JTextField
    ******* at java.awt.Component.processFocusEvent(Unknown Source)
    ******* at java.awt.Component.processEvent(Unknown Source)
    ******* at java.awt.Container.processEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    ******* at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Sour
    ce)
    ******* at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.EventQueue.dispatchEvent(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: FenetreCalcu
    lPose.revalidate()V
    ******* at FenetreCalculPose.focusGained(FenetreCalculPose.java:792)
    ******* at java.awt.AWTEventMulticaster.focusGained(Unknown Source)
    ******* at java.awt.Component.processFocusEvent(Unknown Source)
    ******* at java.awt.Component.processEvent(Unknown Source)
    ******* at java.awt.Container.processEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    ******* at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Sour
    ce)
    ******* at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.EventQueue.dispatchEvent(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    ******* at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: FenetreCalcu
    lPose.revalidate()V
    ******* at FenetreCalculPose.focusLost(FenetreCalculPose.java:807)
    ******* at java.awt.AWTEventMulticaster.focusLost(Unknown Source)Entrer dans foc
    usGained
    class javax.swing.JFormattedTextField

    ******* at java.awt.Component.processFocusEvent(Unknown Source)class javax.swing
    .JFormattedTextField == class javax.swing.JFormattedTextField

    ******* at java.awt.Component.processEvent(Unknown Source)
    ******* at java.awt.Container.processEvent(Unknown Source)
    ******* at java.awt.Component.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Container.dispatchEventImpl(Unknown Source)
    ******* at java.awt.Component.dispatchEvent(Unknown Source)
    ******* at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    ******* at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Sour
    ce)
    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 25/07/2006, 22h28
  2. résultat inattendu avec acCmdPrint
    Par stigma dans le forum Access
    Réponses: 3
    Dernier message: 25/03/2006, 21h51
  3. probléme dexécution
    Par etoile1506 dans le forum C
    Réponses: 3
    Dernier message: 22/11/2005, 13h29
  4. Requête SELECT problème dans les résultats trouvés ...
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/10/2005, 12h46
  5. Réponses: 3
    Dernier message: 15/07/2005, 17h58

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