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 :

factoriser du code


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut factoriser du code
    Bonjour question simple!!

    Comment faire pour factoriser mon code sachant que pour l'insert/remove/update ca sera la meme chose

    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
    class CalculHT implements DocumentListener {
     
    		public void insertUpdate(DocumentEvent arg0) {
    			BigDecimal mttc = new BigDecimal(ChamMontantTTC.getText().replace(",","."));
    			BigDecimal mtttva = new BigDecimal(ChamTva.getText().replace(",","."));
     
    			BigDecimal mttht = mttc.subtract(mtttva);
    			ChamMontantHT.setText(mttht.toString().replace(".",","));
    			//modifie dans le tableau de ventilation aussi
    			//TableDetail.setValueAt(mttht,0,1);			
    		}
     
    		public void removeUpdate(DocumentEvent arg0) {
    			BigDecimal mttc = new BigDecimal(ChamMontantTTC.getText().replace(",","."));
    			BigDecimal mtttva = new BigDecimal(ChamTva.getText().replace(",","."));
     
    			BigDecimal mttht = mttc.subtract(mtttva);
    			ChamMontantHT.setText(mttht.toString().replace(".",","));
    		}
     
    		public void changedUpdate(DocumentEvent arg0) {
    			BigDecimal mttc = new BigDecimal(ChamMontantTTC.getText().replace(",","."));
    			BigDecimal mtttva = new BigDecimal(ChamTva.getText().replace(",","."));
     
    			BigDecimal mttht = mttc.subtract(mtttva);
    			ChamMontantHT.setText(mttht.toString().replace(".",","));			
    		}
    	}
    Merki!!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 52
    Points
    52
    Par défaut
    tu peux créer une méthode private contenant le code à factoriser et qui sera appelée par chacune de tes methodes changedUpdate(), removeUpdate() et insertUpdate()

  3. #3
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Première question.

    Si les methodes font exactement la même chose as-tu besoin d'en faire 3 ?


    Si c'est lié a l'implementation de l'interface, alors je suggere :
    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
    class CalculHT implements DocumentListener {
     
    	public void insertUpdate(DocumentEvent arg0) {
    		this.update(arg0);
    		//modifie dans le tableau de ventilation aussi
    		//TableDetail.setValueAt(mttht,0,1);			
    	}
     
    	public void removeUpdate(DocumentEvent arg0) {
    		this.update(arg0);
    	}
     
    	public void changedUpdate(DocumentEvent arg0) {
    		this.update(arg0);	
    	}
     
    	protected void update(DocumentEvent arg0) {
    		BigDecimal mttc = new BigDecimal(ChamMontantTTC.getText().replace(",","."));
    		BigDecimal mtttva = new BigDecimal(ChamTva.getText().replace(",","."));
     
    		BigDecimal mttht = mttc.subtract(mtttva);
    		ChamMontantHT.setText(mttht.toString().replace(".",","));			
    	}
    }
    ou quelque chose du genre. Mais te sers-tu de arg0 ? je comprend pas bien....

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Merci pour votre aide!!!

    Pour répondre à @ldehan non je ne me sers pas de arg0. Est-ce que c'est grave???

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

Discussions similaires

  1. Factorisation de code graphique
    Par jsebfranck dans le forum Windows Forms
    Réponses: 7
    Dernier message: 01/05/2008, 01h12
  2. factorisation de code
    Par calagan99 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/05/2007, 09h00
  3. [C++] Factorisation de code
    Par xterminhate dans le forum C++
    Réponses: 6
    Dernier message: 07/11/2006, 16h21
  4. Réponses: 7
    Dernier message: 01/08/2006, 11h58
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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