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

Interfaces Graphiques en Java Discussion :

Méthodes synthétiques - Eclipse


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1
    Par défaut Méthodes synthétiques - Eclipse
    Bonjour,

    Je viens de décompiler un fichier.jar pour modifier le fonctionnement d'un programme.
    Ce programme met en jeu le fichier java PutyfalView.java avec le bout de code suivant :
    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
    package putyfal;
     
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import java.io.*;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.*;
    import javax.swing.border.MatteBorder;
    import javax.swing.border.SoftBevelBorder;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.jdesktop.application.*;
    import org.w3c.dom.*;
    public class PutyfalView extends FrameView
    {	
    ...
        public PutyfalView(SingleFrameApplication app)
        {
        taskMonitor.addPropertyChangeListener(new PropertyChangeListener() {
     
                public void propertyChange(PropertyChangeEvent evt)
                {
     
                    String propertyName = evt.getPropertyName();
                    if("started".equals(propertyName))
                    {
                        if(!busyIconTimer.isRunning())
                        {
                            statusAnimationLabel.setIcon(busyIcons[0]);
                            busyIconIndex = 0;
                            busyIconTimer.start();
                        }
                        progressBar.setVisible(true);
                        progressBar.setIndeterminate(true);
                    }
               }
        }
    }
    Un autre fichier java, crée par Eclipse, lors de la précédente compilation, permet de modifier les parametres du busyIconTimer, dans PutyfalView$3.java:

    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
    package putyfal;
     
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import javax.swing.*;
     
    // Referenced classes of package putyfal:
    //            PutyfalView
     
    class PutyfalView$3
        implements PropertyChangeListener
    {
     
        public void propertyChange(PropertyChangeEvent evt)
        {
            String propertyName = evt.getPropertyName();
            if("started".equals(propertyName))
            {
                if(!PutyfalView.access$400(PutyfalView.this).isRunning())
                {
                    PutyfalView.access$300(PutyfalView.this).setIcon(PutyfalView.access$200(PutyfalView.this)[0]);
                    PutyfalView.access$102(PutyfalView.this, 0);
                    PutyfalView.access$400(PutyfalView.this).start();
                }
                PutyfalView.access$500(PutyfalView.this).setVisible(true);
                PutyfalView.access$500(PutyfalView.this).setIndeterminate(true);
            }
        }
    }
    En réalité, (!PutyfalView.access$400(PutyfalView.this) permet dacceder au busyIconTimer mais la gestion des erreurs , pour cette ligne sort :
    The method access$400 is not defined for the type PutyfalView.
    Jai essayé d'introduire un get set dans le fichier PutyfalView.java pour accéder au champ mais rien à faire .
    Avez vous une solution ?

    Merci d'avance,

    Arthur

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu n'as pas le code source original ? Ce serait plus pratique...


    La décompilation ne te donne pas le code exact. Surtout que le compilateur génère automatiquement des classes et méthodes... d'où ton problème !


    Je pense qu'il serait plus simple de réécrire le code.


    a++

Discussions similaires

  1. Méthodes non trouvées par Eclipse
    Par zenux dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 10/08/2011, 22h43
  2. Modifier la méthode equals() générée par eclipse
    Par Faiche dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/09/2009, 08h57
  3. eclipse pdt : autocompletion et lien sur déclaration des méthodes
    Par crazykangourou dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 11/12/2008, 10h52
  4. Réponses: 2
    Dernier message: 26/06/2008, 21h20
  5. [Eclipse 3.2.1] Auto Complétion des méthodes
    Par Jihed Amine Maaref dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/11/2006, 19h18

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