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

AWT/Swing Java Discussion :

Java création interface dynamique


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Java création interface dynamique
    Bonjour,

    Je suis entrain de créer une interface dynamique en Java, c'est-à-dire que si on change les paramètres tous les éléments du JFrame changent aussi avec les événements.

    Quelqu'un peut m'aider SVP!

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Bien sûr : ce forum est là pour aider tous ceux qui en ont besoin. Pose des questions précises et détaillées, et on verra si on peut te répondre.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Bien sûr : ce forum est là pour aider tous ceux qui en ont besoin. Pose des questions précises et détaillées, et on verra si on peut te répondre.
    Ok alors je vous explique;

    J'ai une base de données Mysql qui contient tout les contenues, et ces paramètres puis on les affecte sur un JFrame

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par xmichel Voir le message
    Ok alors je vous explique;

    J'ai une base de données Mysql qui contient tout les contenues, et ces paramètres puis on les affecte sur un JFrame
    Oui mais là c'est carrément vague : c'est la description d'un peu près toutes les applications SWING qui se connectent à une base de données. Il va falloir être plus circonstancié. Quels problèmes rencontre-tu pour faire ça ? Où est la notion de dynamique ? As-tu besoin de générer 3000 formulaires automatiquement, ou tu as 3 objets dans ta base et tu veux faire trois formulaires qui s'affichent alternativement selon l'objet que tu veux modifier ou créer ? Tu cherches à faire quel type de présentation (en table, en arbre, etc.) ? Quelle est la dynamique générale de l'application (une simple frame avec tout en boutons, une frame avec des menus ou une frame muitidocument (internal frame)...
    Si c'est simplement que te ne sais absolument pas comment faire d'interface SWING ou échanger avec un base de données, il faut te tourner vers des tutoriels. Voir en particulier JDBC pour l'aspect base de données.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Le problème c'est que je n'arrive pas à vider les champs que j'ai créer dynamiquement avec un bouton nommé Reset

    voici les codes :

    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
    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
     
    package projet1;
    /**
     * @(#)Formulaire.java
     *
     *
     * 
     * 
     */
     
    import javax.swing.JPanel;
    import javax.swing.BoxLayout;
    import javax.swing.JLabel;
    import java.awt.Dimension;
    import javax.swing.BorderFactory;
    import javax.swing.JComponent;
    import javax.swing.text.JTextComponent;
     
    public class Formulaire extends JPanel{
    	private String name;
        public Formulaire(String n) {
        	setBorder(BorderFactory.createTitledBorder(name= n));
        	setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
        }
     
        public Formulaire() {
        	setBorder(BorderFactory.createEtchedBorder());
        	setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
        }
     
        public void add(String label,String x,String[] strings,String obli){
        	add(new ZoneSesieEtiquete(label,x,strings,obli));
        }
     
        public int synchronZones(){
        	int max = 0;
        	for (int i = 0; i<getComponentCount(); i++) {
            		int l  = ((ZoneSesieEtiquete)this.getComponent(i)).getLabelText().length();
        		max = max>l?max:l;
    		}
        	for (int i = 0; i<getComponentCount(); i++) 
        	((ZoneSesieEtiquete)this.getComponent(i)).setLabelPreferedSize(new  Dimension(max*7,20));
    	return max;
        }
        public void setTextCompenentAt(JTextComponent t,int i){
        	if(i<getComponentCount())
        	((ZoneSesieEtiquete)this.getComponent(i)).setTextComponent(t);
        }
        public void setLabelAt(JLabel l,int i){
        	if(i<getComponentCount())
        	((ZoneSesieEtiquete)this.getComponent(i)).setlabel(l);
        }
        public void setLabelTextAt(String s,int i){
        	if(i<getComponentCount())
        	((ZoneSesieEtiquete)this.getComponent(i)).setLabelText(s);
        }
        public String getLabelTextAt(int i){
        	return ((ZoneSesieEtiquete)this.getComponent(i)).getLabelText();
        }
        public void setTextAt(String s,int i){
        	if(i<getComponentCount())
        	((ZoneSesieEtiquete)this.getComponent(i)).settext(s);
        }
        public String getTextAt(int i){
        	return ((ZoneSesieEtiquete)this.getComponent(i)).getText();
        }
        public String getTextAt(String s){
        	for (int i = 0; i<getComponentCount(); i++) 
            		if(((ZoneSesieEtiquete)this.getComponent(i)).getLabelText().equals(s))return getTextAt(i);
            return null;
        }
        public void  setTextAt(String text,String labelName){
        	for (int i = 0; i<getComponentCount(); i++) 
            		if(((ZoneSesieEtiquete)this.getComponent(i)).getLabelText().equals(labelName)){
            			((ZoneSesieEtiquete)getComponent(i)).settext(text);
            			return;
            		}
        }
       	public String getTextAt(JLabel l){
       		for (int i = 0; i<getComponentCount(); i++) 
            		if(((ZoneSesieEtiquete)this.getComponent(i)).equals(l))return getTextAt(i);
            return null;
       	}
       	public void getTextAt(String text,JLabel l){
       		for (int i = 0; i<getComponentCount(); i++) 
            		if(((ZoneSesieEtiquete)this.getComponent(i)).equals(l)){
            			((ZoneSesieEtiquete)getComponent(i)).settext(text);
            			return;
            		}
       	}
     
     
    }
    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
    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
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    package projet1;
     
    /**
     * @(#)ZoneSesieEtiquete.java
     *
     *
     *
     * 
     */
    import java.awt.Color;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.text.JTextComponent;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.FocusEvent;
    import java.awt.event.FocusListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.event.MouseEvent;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Stack;
    import java.util.regex.Pattern;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFormattedTextField;
    import javax.swing.JOptionPane;
    import javax.swing.event.MouseInputListener;
     
    public class ZoneSesieEtiquete extends JPanel implements KeyListener {
     
        public static JTextComponent text;
        public JLabel label;
        public JButton button;
        public static JTextField field;
        public static JFormattedTextField field1 = new JFormattedTextField();
        public static JComboBox box;
        public Va vi = new Va();
        public String l;
        String t;
        public static String ses;
        public static String co;
     
        private static final Pattern PATTERN_STRING = Pattern.compile("[0-9_(\\\\[,.;*%:!$£=+)°@µ|(())#&]\\\\*)?]+");
     
        private static boolean isIntegerRegEx(String val) {
            return PATTERN_STRING.matcher(val).find();
        }
     
        public ZoneSesieEtiquete() {
        }
     
        public ZoneSesieEtiquete(String l, String t, String[] v_combo, String obligatoire) {
            ((FlowLayout) getLayout()).setAlignment(0);
     
            if ("JTextField".equals(t)) {
                int i = 20;
                field = new JTextField(i);
                add(label = new JLabel(l));
                add(new JLabel(": "));
                add(text = field);
                field.setName(l);
     
                ses = field.getText();
                field.setBackground(Color.white);
                TextEcout ctrlSaisie = new TextEcout();
                // Définition du FocusListener qui sera attaché à la JTextField
     
                field.addFocusListener(ctrlSaisie);
                if ("Oui".equals(obligatoire)) {
                    field.addKeyListener(this);
                    Valid v = new Valid();
                    field.addFocusListener(v);
                }
            }
            if ("JFormattedTextField".equals(t)) {
                int i = 10;
                DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
                field1 = new JFormattedTextField(format);
                field1.setText("dd/MM/yyyy");
                add(label = new JLabel(l));
                add(new JLabel(": "));
                add(text = field1);
                field1.setName(l);
                field1.setBackground(Color.white);
                TextEcout ctrlSaisie = new TextEcout();
                // Définition du FocusListener qui sera attaché à la JTextField
     
                field1.addFocusListener(ctrlSaisie);
                if ("Oui".equals(obligatoire)) {
                    field1.addKeyListener(this);
                    Valid v = new Valid();
                    field1.addFocusListener(v);
                }
            }
            if ("JButton".equals(t)) {
     
                button = new JButton(l);
                button.addMouseListener(new MouseInputListener() {
     
                    @Override
                    public void mouseClicked(MouseEvent e) {
     
                        ZoneSesieEtiquete.field.setText(null);
                        ZoneSesieEtiquete.box.setSelectedItem(null);
                        ZoneSesieEtiquete.field1.setText(null);
                        ZoneSesieEtiquete.text.removeAll();
                    }
     
                    @Override
                    public void mousePressed(MouseEvent e) {
                        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
     
                    @Override
                    public void mouseReleased(MouseEvent e) {
                        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
     
                    @Override
                    public void mouseEntered(MouseEvent e) {
                        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
     
                    @Override
                    public void mouseExited(MouseEvent e) {
                        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
     
                    @Override
                    public void mouseDragged(MouseEvent e) {
                        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
     
                    @Override
                    public void mouseMoved(MouseEvent e) {
                        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
                });
                add(button);
     
            }
            if ("JComboBox".equals(t)) {
     
                String[] tab = {"Option 1", "Option 2", "Option 3", "Option 4"};
                box = new JComboBox(v_combo);
                add(label = new JLabel(l));
                add(new JLabel(": "));
                add(box);
                co = box.getSelectedItem().toString();
                ComboxEve ctrlSaisie = new ComboxEve();
                box.addFocusListener(ctrlSaisie);
     
            }
     
        }
     
        @Override
        public void keyTyped(KeyEvent e) {
     
        }
     
        @Override
        public void keyPressed(KeyEvent e) {
     
        }
     
        @Override
        public void keyReleased(KeyEvent e) {
            Object Donnees = e.getSource(); // On récupère l'objet appelant
            JTextField champ = (JTextField) Donnees;
            String teste = champ.getText();
     
            if (isIntegerRegEx(teste) == true) {
                champ.setText(null);
            } else {
                String rec_nom = champ.getText().toUpperCase();
                champ.setText(rec_nom);
            }
        }
     
        private class TextEcout implements FocusListener {
     
            @Override
            public void focusLost(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JTextField champ = (JTextField) Donnees; // On le caste en JTextField
     
                champ.setBackground(Color.white);
     
                e.setSource(champ);
     
            }
     
            @Override
            public void focusGained(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JTextField champ = (JTextField) Donnees;
     
                champ.setBackground(Color.yellow);
                e.setSource(champ);
            }
        }
     
        private class Valid implements FocusListener {
     
            @Override
            public void focusLost(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JTextField champ = (JTextField) Donnees; // On le caste en JTextField
     
                if ("".equals(champ.getText())) {
                    JOptionPane.showMessageDialog(null, "Champ " + champ.getName() + " obligatoire");
     
                }
     
            }
     
            @Override
            public void focusGained(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JTextField champ = (JTextField) Donnees;
     
                champ.setBackground(Color.yellow);
                e.setSource(champ);
            }
        }
     
        private class ComboxEve implements FocusListener {
     
            public void focusLost(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JComboBox champ = (JComboBox) Donnees; // On le caste en JTextField
     
                champ.setBackground(Color.white);
                e.setSource(champ);
     
            }
     
            public void focusGained(FocusEvent e) {
                Object Donnees = e.getSource(); // On récupère l'objet appelant
                JComboBox champ = (JComboBox) Donnees; // On le caste en JTextField
     
                champ.setBackground(Color.yellow);
                e.setSource(champ);
            }
        }
     
        public String getText() {
            return text.getText();
        }
     
        public void settext(String s) {
            text.setText(s);
        }
     
        public String getLabelText() {
            return label.getText();
        }
     
        public void setLabelText(String s) {
            label.setText(s);
        }
     
        public void setlabel(JLabel l) {
            remove(label);
            add(label = l, 0);
        }
     
        public void setTextComponent(JTextComponent t) {
            remove(text);
            add(text = t);
        }
     
        public void setLabelPreferedSize(Dimension d) {
            label.setPreferredSize(d);
        }
     
        public JButton getButton() {
            return button;
        }
     
        public void setButton(JButton button) {
            this.button = button;
        }
     
        public JTextField getField() {
            return field;
        }
     
        public void setField(JTextField field) {
            this.field = field;
        }
     
        public JLabel getLabel() {
            return label;
        }
     
        public void setLabel(JLabel label) {
            this.label = label;
        }
     
        public String getT() {
            return t;
        }
     
        public void setT(String t) {
            this.t = t;
        }
     
        public String getSes() {
            return ses;
        }
     
        public void setSes(String ses) {
            this.ses = ses;
        }
     
    }


    Enfin :
    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
    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
     
    package projet1;
     
    /**
     * @(#)TestFormulaire.java
     *
     *
     * 
     * 
     */
    import connexion.ConnexionBase;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import java.awt.FlowLayout;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.Stack;
    import javax.swing.JButton;
    import javax.swing.JTextField;
     
    public class TestFormulaire extends JFrame {
     
        private Formulaire f;
     
        public TestFormulaire() {
            setTitle("Formulaire Personnnel");
            f = new Formulaire();
            //Reccupération dans la base
            try {
     
                Statement st = ConnexionBase.getInstance().createStatement();
                ResultSet result1 = st.executeQuery("SELECT * FROM champs order by num");
     
                while (result1.next()) {
     
                    String lib = result1.getString("libelle");
                    String ty = result1.getString("type");
                    String li = result1.getString("num");
                    int lo = result1.getInt("longueur");
                    String ca = result1.getString("cases");
                    String ob = result1.getString("obligatoire");
     
                    //Sous Requête
                    ArrayList al = new ArrayList();
                    al = Reccupcontenu(lib);
     
                    String[] mylist = new String[al.size()];
     
                    mylist = (String[]) al.toArray(mylist);
     
                    f.add(lib, ty, mylist, ob);
     
                }
            } catch (Exception e) {
                System.out.println(e);
            }
     
            //Boucle pour afficher les Jlabel et le JTexField
            // f.add("charif", 15);
            /*
             f.add("c",15);
             f.add("charifkjbhkdjshkjhskj",15);
             f.add("cha",15);
             f.add("rdem",50);
             f.synchronZones();*/
            /*
             f.setTextAt("howa",0);
             f.setTextAt("hadak","c");
             f.setTextAt(f.getTextAt(f.getLabelTextAt(0)),f.getLabelTextAt(2));
             */
            ((JPanel) getContentPane()).setLayout(new FlowLayout());
            ((JPanel) getContentPane()).add(f);
     
            pack();
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            setResizable(false);
            setVisible(true);
     
        }
     
        public static ArrayList<String> Reccupcontenu(String f) {
            ArrayList<String> str = new ArrayList<String>();
     
            try {
                Statement st2 = ConnexionBase.getInstance().createStatement();
                ResultSet result2 = st2.executeQuery("SELECT contenu FROM liste where libelle='" + f + "'");
                int i = 0;
                while (result2.next()) {
     
                    String x = result2.getString("contenu");
     
                    str.add(x);
     
                }
            } catch (Exception e) {
     
            }
            return str;
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            new TestFormulaire();
     
     
        }
    }
    Mon problème est ici ;quand je clique sur le bouton reset
    seulement le dernier champ sera vider; alors que je veux tout les champs créer dynamiquement à partir du boucle serons vider aussi
    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
     
    ...
     button = new JButton(l);
                button.addMouseListener(new MouseInputListener() {
     
                    @Override
                    public void mouseClicked(MouseEvent e) {
     
                        ZoneSesieEtiquete.field.setText(null);
                        ZoneSesieEtiquete.box.setSelectedItem(null);
                        ZoneSesieEtiquete.field1.setText(null);
     
                    }
     
                   ...
                add(button);

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je vois :

    1. Déjà, ne pas utiliser de champs static : ils sont partagés entre toutes les instances (si tu as 2 zonesaisies qui ont un JTextField, c'est le même (alors peut-être qu'au moment de la création de l'interface tu en mettras bien 2 différents dans la fenêtre, mais à la sauvegarde, ce n'a n'en sera plus qu'un et tu sauvegarderas la même information dans 2 champs
    2. N'utilise pas de champs public : ça te semble plus pratique pour faire les manipulations, mais ça te limite pour le modèle objet et ça favorise les erreurs de manipulation


    Je ne vais pas tout reprendre ce que tu as fait mais vais te donner un exemple simplifié pour te donner le principe. Donc, je résume ce que tu veux faire : tu veux pouvoir générer dynamiquement des formulaires pour modifier tes objets. Pour cela tu as fait une classe qui représente un champ standard, qui te permet de gérer plusieurs types de champs.

    2 approches possibles :

    1. La tienne, qui consiste à avoir une seule classe ZoneSaisieEtiquette, avec un ou plusieurs constructeurs, pour créer des champs différents (avec JTextField, combo, etc)
      C'est une façon de faire. Mais pour la sauvegarde, ajoute une méthode qui fait la sauvegarde, en fonction des paramètres de la classe.

      Un formulaire sera en gros une liste de ZoneSaisieEdiquette, que tu n'auras qu'à parcourir en appelant à chaque fois la méthode de sauvegarde, pour faire la sauvegarde globale
    2. L'autre solution est de faire une arborescence de classe, avec une classe abstraite qui contient tout le standard d'un ZoneSaisieEtiquette quelqocnque, sans se préoccuper du type de champs, et une implémentation concrète par type de champ, ce qui te permet d'être beaucoup plus générique et souple

      La sauvegarde se fait sur le même principe que la 1)


    Je peux te faire un exemple simplifiée si tu ne visualises pas concrètement ce que je veux dire.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Je vois :

    1. Déjà, ne pas utiliser de champs static : ils sont partagés entre toutes les instances (si tu as 2 zonesaisies qui ont un JTextField, c'est le même (alors peut-être qu'au moment de la création de l'interface tu en mettras bien 2 différents dans la fenêtre, mais à la sauvegarde, ce n'a n'en sera plus qu'un et tu sauvegarderas la même information dans 2 champs
    2. N'utilise pas de champs public : ça te semble plus pratique pour faire les manipulations, mais ça te limite pour le modèle objet et ça favorise les erreurs de manipulation


    Je ne vais pas tout reprendre ce que tu as fait mais vais te donner un exemple simplifié pour te donner le principe. Donc, je résume ce que tu veux faire : tu veux pouvoir générer dynamiquement des formulaires pour modifier tes objets. Pour cela tu as fait une classe qui représente un champ standard, qui te permet de gérer plusieurs types de champs.

    2 approches possibles :

    1. La tienne, qui consiste à avoir une seule classe ZoneSaisieEtiquette, avec un ou plusieurs constructeurs, pour créer des champs différents (avec JTextField, combo, etc)
      C'est une façon de faire. Mais pour la sauvegarde, ajoute une méthode qui fait la sauvegarde, en fonction des paramètres de la classe.

      Un formulaire sera en gros une liste de ZoneSaisieEdiquette, que tu n'auras qu'à parcourir en appelant à chaque fois la méthode de sauvegarde, pour faire la sauvegarde globale
    2. L'autre solution est de faire une arborescence de classe, avec une classe abstraite qui contient tout le standard d'un ZoneSaisieEtiquette quelqocnque, sans se préoccuper du type de champs, et une implémentation concrète par type de champ, ce qui te permet d'être beaucoup plus générique et souple

      La sauvegarde se fait sur le même principe que la 1)


    Je peux te faire un exemple simplifiée si tu ne visualises pas concrètement ce que je veux dire.

    Merci beaucoup;

    je veux le faire;
    en fait c'est la première fois que je fait une exercice comme celle ci;

    est ce que tu peux me donner quelque tuto concernant ce cas!

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je ne connais pas vraiment de tutoriels sur le sujet. Je te ferais un petit exemple plus tard.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    La classe qui représente un champ (pour toi ZoneSesieEtiquete), doit avoir les méthodes qui permettent par un simple appel de l'extérieur de faire ce qu'elles doivent faire : on accède pas directement aux attributs des objets. Et ces attributs ne doivent pas être static, pour qu'ils aient une valeur pour chaque instance de ZoneSesieEtiquete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class ZoneSesieEtiquete extends JPanel implements KeyListener {
     
        public JTextComponent text;
        public JLabel label;
        public JButton button;
        public JTextField field;
        public JFormattedTextField field1
        public JComboBox box;
        public Va vi = new Va();
        public String l;
    Ensuite dans le constructeur, tu remplis les variables utiles en fonction des paramètres comme tu fais ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public ZoneSesieEtiquete(String l, String t, String[] v_combo, String obligatoire) {
            ((FlowLayout) getLayout()).setAlignment(0);
     
            if ("JTextField".equals(t)) {
                int i = 20;
                field = new JTextField(i);
    ...
    chaque instance de ZoneSesieEtiquete aura donc uniquement les attributs utiles (field aura une valeur lorsque t vaudra "JTextField", box aura une valeur lorsque t vaudra "JComboBox".

    Ensuite, dans la classe ZoneSesieEtiquete, tu peux ajouter des méthodes dont le but est de faire un traitement particulier sur la champ, quelque soit le champ, sans que le code qui appelle cette méthode ait besoin de savoir comment est fait le champ.
    Pour pouvoir le faire plus facilement, il va falloir sauvegarde t dans une variable de la classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ...
    private String typeDeChamp;
     
    public ZoneSesieEtiquete(String l, String t, String[] v_combo, String obligatoire) {
     
            typeDeChamp = t;
     
            ((FlowLayout) getLayout()).setAlignment(0);
     
            if ("JTextField".equals(t)) {
                int i = 20;
                field = new JTextField(i);
    ...
    Ensuite tu peux faire toutes les méthodes que tu veux qui vont en fonction de typeDeChamp faire le traitement adéquate. Par exemple, pour remettre à zéro les champs, on peut faire une méthode resetValeur() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void resetValeur() {
     
       if ( "JTextField".equals(typeDeChamp) ) {
           field.setText("");
       }
       else if ( "JComboBox".equals(typeDeChamp) ) {
     
           box.setSelectedItem( box.getModel().getElementAt(0) ) ; // par exemple
     
       }
       else ...
     
    }
    Il suffit de boucler sur la liste de toutes les instances de ZoneSesiEtiquette dans le formulaire et d'appeler la méthode resetValeur(), et tous les champs se vident.
    Bien sûr, pour ça, il faut avoir la liste des composants ZoneSaisiEtiquette : soit tu utilises les méthodes standard, comme getComponents() et tu testes si c'est un ZoneSesiEtiquette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void resetAllValues() {
       for(Component component : getComponents()) {
          if ( component instanceof ZoneSesiEtiquete ) {
     
              ((ZoneSesiEtiquete)component).resetValue();
          }
      }
    }
    Tu pourrais aussi stocker tous les ZoneSesiEtiquette dans une liste à part (List<ZoneSesiEtiquette>), au moment où tu les ajoutes au Formulaire, et ne parcourir que cette liste

    Pour mettre une valeur dans chaque champ, c'est pareil : pas besoin de faire une méthode setxxx pour chaque cas, une seule méthode suffit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void setValeur(String valeur) {
     
       if ( "JTextField".equals(typeDeChamp) ) {
           field.setText( valeur );
       }
       else if ( "JComboBox".equals(typeDeChamp) ) {
     
           box.setSelectedItem( valeur ) ; 
       }
     
    }
    Pour écrire des valeurs, tu lis ces valeurs dans une base à priori, et on ne peut pas faire de boucle : il faut pouvoir repérer dans quel champ va tel valeur. Soit tu te bases sur l'ordre d'ajout : le champ numéro 1 va dans le premier champ de la liste, soit mieux tu ajoutes une notion d'identifiant à chaque champ (chaque instance de ZoneSesiEtiquete) :l'identifiant peut être par exemple le nom de la colonne dans la base. Et tu utilises une map pour stocker les ZoneSesiEtiquete associée à leur identifant, ce qui te permet de les retrouver par cet identifiant, sans avoir à tout parcourir et à tester :

    Dans Formulaire, on pourra avoir une méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void setValeur(String identifiantChamp, String valeur) {
       map.get( identifiantChamp ).setValeur( valeur );
    }
    Pour lire des valeurs dans le formulaire pour les remettre dans la base, ce sera le même principe.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    merci beaucoup;

    ok; je veux le faire

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    J'ai déjà essaié mais
    ça marche pas encore

    j'ai suivi tes codes

    Peut être l'erreur vient de ce code
    TestFormulaire.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
     
    public class TestFormulaire extends JFrame {
     
        private JPanel f;
    ...
     
    Boucle{
     
                    String jLabel = //Nom du JLabel
                    String type = //Type du champs
                     String obl = // ... 
                    //J'appel au constructeur dans   ZoneSesieEtiquete
     
                         ZoneSesieEtiquete etiquet = new ZoneSesieEtiquete(jLabel, type,obl);
                         f.add(etiquet );
     
    }
      ((JPanel) getContentPane()).setLayout(new FlowLayout());
            ((JPanel) getContentPane()).add(f);
     
            pack();
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            setResizable(false);
            setVisible(true);
    ....
    Classe ZoneSesieEtiquete.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
    30
     
    public class ZoneSesieEtiquete extends JPanel implements KeyListener {
     
        public JTextComponent text;
        public JLabel label;
        public JButton button;
        public JTextField field;
        public JFormattedTextField field1;
        public JComboBox box;
    ...
    public ZoneSesieEtiquete(String l, String t, String[] v_combo, String obligatoire) {
            typeDeChamp = t;
            ((FlowLayout) getLayout()).setAlignment(0);
            if ("JTextField".equals(t)) {
    ....
     
     if ("JButton".equals(t)) {
     
     
    //j'ai crée un événement sur le bouton pour vider les champs
     
     ...
     
     button.addMouseListener(new MouseInputListener() {
     
                    @Override
                    public void mouseClicked(MouseEvent e) {
                   //J'ai appelé la methode resetAllValues
                        resetAllValues();
                    }


    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
     
        public void resetValeur() {
     
            if ("JTextField".equals(typeDeChamp)) {
                field.setText("cebanne");
            }
            if ("JComboBox".equals(typeDeChamp)) {
     
                box.setSelectedItem(box.getModel().getElementAt(0)); // par exemple
     
            }
           el if ("JFormattedTextField".equals(typeDeChamp)) {
                field1.setText("michel");
            }
     
     
        }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public void resetAllValues() {
            for (Component component : getComponents()) {
                if (component instanceof ZoneSesieEtiquete) {
     
                    ((ZoneSesieEtiquete) component).resetValeur();
                }
            }
        }

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si tu peux appeler directement resetAllValues(), c'est que tu as dû mettre cette méthode dans la classe ZoneSesiEtiquette. La liste de composants parcourus par la méthode resetAllValues doit celle des composants du panel où sont ajoutés les ZoneSesieEtiquette, c'est-à-dire l'instance pointée par la variable f de ton premier code.

    Ici, tu créés le bouton par un ZoneSesieEtiquette avec un paramètre "JButton" : du coup, l'ActionListener que tu ajoutes à ce bouton récupère la liste des composants à l'intérieur du ZoneSesieEtiquette de type JButton, qui ne contient pas de ZoneSesieEtiquette.

    Si tu veux ou doit gérer les boutons de cette manière (parce que je les gèrerais personnellement complètement à part (pas comme des ZoneSesiEtiquette), et que tous les ZoneSesieEtiquette sont dans le même JPanel, tu peux accèder au parent du ZoneSesieEtiquette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public ZoneSesieEtiquete(String l, String t, String[] v_combo, String obligatoire) {
            typeDeChamp = t;
            ((FlowLayout) getLayout()).setAlignment(0);
            if ("JTextField".equals(t)) {
    ....
     
     if ("JButton".equals(t)) {
     
        button=new JButton(l);
     
        button.addActionListener(e-> resetAllValues()); 
     
    }
    et (dans ZoneSesieEtiquette)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void resetAllValues() {
            for (Component component : getParent().getComponents()) {
                if (component instanceof ZoneSesieEtiquete) {
     
                    ((ZoneSesieEtiquete) component).resetValeur();
                }
            }

    On sent poindre les limites de ton système à base de classe unique, et de parcourt de de méthodes de base de SWING. Tout ceci serait bien plus facilement gérable avec une hierarchie de classes, qui permettrait des paramètres spécifiques pour chaque classe de "zone de saisie", et une classe de formulaire qui maintient une liste des composants de saisie, voire une map (avec un notion d'identifiant). Ainsi, on pourrait passer directement un ActionListener pour créer les boutons, ce qui permettrait beaucoup plus de liberté. Là, on voit bien dans le if suivant qu'on est hyper contraint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     if ("JButton".equals(t)) {
     
        button=new JButton(l);
     
        button.addActionListener(e-> resetAllValues()); 
     
    }
    Eventuellement, tu peux t'en sortir en faisant un second constructeur à ZoneSesieEtiquete du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public ZoneSesieEtiquete(String textButton, ActionListener actionListener) {
        button=new JButton(textButton);
     
        button.addActionListener(actionListener);
     
        ...
     
    }
    Et pour construire le ZoneSesieEtiquette, dans Formulaire :
    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
    Boucle{
     
                    String jLabel = //Nom du JLabel
                    String type = //Type du champs
                     String obl = // ... 
                    //J'appel au constructeur dans   ZoneSesieEtiquete
                         ZoneSesieEtiquete etiquet;
     
                     if ( type.equals("JButton") ) {
                              ActionListener actionListener;
                              if ( je sais pas quoi ) {
                                  actionListener = e-> resetAllValues(); 
                              }
     
                              etiquet = new ZoneSesieEtiquete(jLabel, actionListener);
                     }
                     else {
                          etiquet = new ZoneSesieEtiquete(jLabel, type,obl);
                     }
                          etiquettes.add(etiquet);
                          f.add(etiquet );
     
    }
    Avec resetAllValues dans la classe Formulaire également :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void resetAllValues() {
            for (ZoneSesieEtiquete etiquette : etiquettes) {
                     etiquette.resetValeur();
                }
            }
    et etiquettes, une variable de la classe Formulaire, de type List<ZoneSesiEtiquettes>
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup ça marche

Discussions similaires

  1. [Java IDL]Ajout dynamique d'interface dans CORBA
    Par anaranjado dans le forum Général Java
    Réponses: 1
    Dernier message: 23/11/2009, 23h34
  2. [JNI] Java Native Interface portable ?
    Par ionix dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 26/04/2006, 16h25
  3. [débutant Java] création d'un arbre binaire
    Par barouz dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2006, 04h25
  4. Java et invocation dynamique
    Par poinclin dans le forum CORBA
    Réponses: 3
    Dernier message: 24/05/2004, 13h19

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