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

Java EE Discussion :

EJB tableau d'amortissement


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut EJB tableau d'amortissement
    Bonjour à tous je dois actuellement faire une tableau d'amortissement linéaire avec un ejb et une applet,je galère un peux le principe est le suivant l'applet recueil les données puis l'envoi à l'ejb qui calcul et renvoi à l'applet pour afficher tout d'abord voici le code que j'ai commencé à faire:
    Mon applet Amortissement.java

    Code JAVA : 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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    package client;
     
    import hw.AmortissementRemote;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.swing.JApplet;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
     
    import java.awt.Font;
     
    import javax.swing.JButton;
     
    import java.awt.Color;
    import java.util.Properties;
     
    import javax.swing.JComboBox;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JPanel;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
     
    public class Amortissement extends JApplet {
    	private JTextField textField;
    	private JTextField textField_4;
     
    	/**
             * Create the applet.
             */
    	public Amortissement() {
    		getContentPane().setLayout(null);
     
    		JLabel lblNewLabel = new JLabel("Votre Tableau d'amortissement");
    		lblNewLabel.setFont(new Font("Arial Black", Font.BOLD, 14));
    		lblNewLabel.setBounds(0, 0, 306, 14);
    		getContentPane().add(lblNewLabel);
     
    		JLabel lblretrouverLeDtail = new JLabel("<html>Retrouver <bold> le d\u00E9tail de vos remboursements sur toutes la dur\u00E9e de vos pr\u00EAs immobilier .</bold>Un \u00E9cch\u00E9ancier annuel et mensuel qui met en \u00E9vidence l'\u00E9volutiondu montantdes int\u00E9r\u00EAts de votre pr\u00EAt immobilier et la part de capital amorti.</html>");
    		lblretrouverLeDtail.setBounds(0, 25, 471, 59);
    		getContentPane().add(lblretrouverLeDtail);
     
    		JLabel lblsommeEmprunt = new JLabel("*Somme emprunt\u00E9");
    		lblsommeEmprunt.setFont(new Font("Tahoma", Font.BOLD, 11));
    		lblsommeEmprunt.setBounds(88, 88, 120, 14);
    		getContentPane().add(lblsommeEmprunt);
     
    		JLabel lblDateDeDbut = new JLabel("Date de d\u00E9but de remboursement");
    		lblDateDeDbut.setFont(new Font("Tahoma", Font.BOLD, 11));
    		lblDateDeDbut.setBounds(20, 110, 198, 14);
    		getContentPane().add(lblDateDeDbut);
     
    		JLabel lblDureDuPrt = new JLabel("Dur\u00E9e du pr\u00EAt");
    		lblDureDuPrt.setFont(new Font("Tahoma", Font.BOLD, 11));
    		lblDureDuPrt.setBounds(130, 176, 78, 14);
    		getContentPane().add(lblDureDuPrt);
     
    		JLabel lblTauxAnnuel = new JLabel("Taux annuel");
    		lblTauxAnnuel.setFont(new Font("Tahoma", Font.BOLD, 11));
    		lblTauxAnnuel.setBounds(140, 201, 78, 14);
    		getContentPane().add(lblTauxAnnuel);
     
    		textField = new JTextField();
    		textField.setBounds(228, 88, 140, 14);
    		getContentPane().add(textField);
    		textField.setColumns(10);
     
    		textField_4 = new JTextField();
    		textField_4.setColumns(10);
    		textField_4.setBounds(228, 201, 140, 14);
    		getContentPane().add(textField_4);
     
    		JButton btnNewButton = new JButton("Envoyer");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    			}
    		});
    		btnNewButton.setBackground(new Color(255, 165, 0));
    		btnNewButton.setForeground(Color.WHITE);
    		btnNewButton.setBounds(228, 226, 89, 23);
    		getContentPane().add(btnNewButton);
     
    		JLabel lblNewLabel_1 = new JLabel("\u20AC");
    		lblNewLabel_1.setBounds(374, 88, 46, 14);
    		getContentPane().add(lblNewLabel_1);
     
    		JComboBox comboBox = new JComboBox();
    		comboBox.setBounds(228, 110, 140, 23);
    		getContentPane().add(comboBox);
     
    		JComboBox comboBox_1 = new JComboBox();
    		comboBox_1.setModel(new DefaultComboBoxModel(new String[] {""}));
    		comboBox_1.setToolTipText("");
    		comboBox_1.setBounds(228, 145, 140, 14);
    		getContentPane().add(comboBox_1);
     
    		JLabel lblAns = new JLabel("ans");
    		lblAns.setBounds(374, 176, 46, 14);
    		getContentPane().add(lblAns);
     
    		JComboBox comboBox_2 = new JComboBox();
    		comboBox_2.setModel(new DefaultComboBoxModel(new String[] {""}));
    		comboBox_2.setBounds(228, 176, 140, 14);
    		getContentPane().add(comboBox_2);
     
    		JLabel label = new JLabel("%");
    		label.setBounds(374, 201, 46, 14);
    		getContentPane().add(label);
     
     
     
    	}
     
    	   // Connexion au serveur et lookup du bean
        private static AmortissementRemote lookupRemoteStatelessAmortissement() throws NamingException {
      	AmortissementRemote remote=null;
          try {
              Properties jndiProps = new Properties();
              jndiProps.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
              InitialContext ctx = new InitialContext(jndiProps); 
              remote = (AmortissementRemote) ctx.lookup("ejb:/AmortissementEJB/Amortissement!hw.AmortissementRemote");
          	} catch (Exception e) {
              e.printStackTrace();
          		}    	
          return remote;
      }
     
        public static void main(String[] args) throws Exception {
            // Appel du stateless bean
            AmortissementRemote Amortissement = lookupRemoteStatelessAmortissement();
            System.out.println(Amortissement.CalculAmortissement());
        }
    }

    Amortissement.java de mon ejb

    Code JAVA : 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
    package hw;
     
    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
     
    /**
     * Session Bean implementation class Amortissement
     */
    @Stateless
    @LocalBean
    public class Amortissement implements AmortissementRemote {
     
        /**
         * Default constructor. 
         */
        public Amortissement() {
            // TODO Auto-generated constructor stub
        }
     
        public Boolean CalculAmortissement() {
     
     
    		return true;
    	}
     
    }

    et enfin AmortissementRemote:

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package hw;
     
    import javax.ejb.Remote;
     
    @Remote
    public interface AmortissementRemote {
     
    	public Boolean CalculAmortissement(); 
    }

    J'ai plusieurs questions j'envoi les données par serialization?pour le calcul par amortissement linéaire je stock l'information dans un tableau d'objet?la façon dont j'ai implémenté est bien un ejb sans état et esque c'est de rigueur pour mon problème?

    Je vous remercie par avance de prendre de votre temps pour m'aider cordialement

  2. #2
    Membre expérimenté
    Profil pro
    Opération
    Inscrit en
    Décembre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opération

    Informations forums :
    Inscription : Décembre 2012
    Messages : 91
    Par défaut
    Pour l'applet, il me semble que tu doit construire ton IHM en surchargeant la fonction init() encadré par
    SwingUtilities.invokeAndWait(new Runnable() {
    public void run() {...}
    et non dans le constructeur.
    Le main n'est pas utilisé dans le cadre d'une applet, mais je suppose que c'est pour toi tester l'appel à l'ejb
    Pour l'ejb, le choix du stateless me semble bon puisqu'il n'y a pas d'état à conserver entre 2 appel.
    Pour envoyer les données du calcule d'amortissement, le plus simple c'est ajouter ces données en arguments de ta fonction CalculAmortissement (il faut donc adapter ton interface).
    Si tu utilises des types primitifs, il n'y aura pas de soucis de sérialisation et de class loader.
    Pour le résultat, là aussi l'utilisation d'un tableau d'un type primitif est le plus simple.

  3. #3
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    Merci de votre réponse ,mais j'ai pas trop compris quand vous dites ajouter en argument de ma fonction calculamortissement ,cela veut-dire que je dois l' appelait depuis l'applet en effet j'ai pas trop compris comment sont reçu les données du côté ejb la sérialization est donc bien le seul moyen?

  4. #4
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    J'ai compris les données sont déjà sérializable int string puisque se ne sont pas des objets .

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/11/2014, 14h06
  2. Problème dans une Grid : tableau d'amortissement.
    Par ecobarito dans le forum Composants VCL
    Réponses: 0
    Dernier message: 21/10/2007, 17h04
  3. Tableau d'amortissement d'emprunt
    Par Pgs dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/09/2007, 14h11
  4. Tableau d'amortissement d'emprunt
    Par Pgs dans le forum MySQL
    Réponses: 0
    Dernier message: 03/09/2007, 23h31
  5. [VBA-E] Graphique suite à un tableau d'amortissement
    Par iupien78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/02/2007, 15h03

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