Bouton ajouter ligne, Swing, Pas en tableau
Résolu/Fermé
EGP-Swyx
Messages postés
6664
Date d'inscription
dimanche 18 mars 2012
Statut
Contributeur
Dernière intervention
7 janvier 2019
-
Modifié par EGP-Swyx le 3/06/2014 à 11:37
EGP-Swyx Messages postés 6664 Date d'inscription dimanche 18 mars 2012 Statut Contributeur Dernière intervention 7 janvier 2019 - 3 juin 2014 à 13:52
EGP-Swyx Messages postés 6664 Date d'inscription dimanche 18 mars 2012 Statut Contributeur Dernière intervention 7 janvier 2019 - 3 juin 2014 à 13:52
A voir également:
- Bouton ajouter ligne, Swing, Pas en tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Site de vente en ligne particulier - Guide
- Partager photos en ligne - Guide
1 réponse
ProvencaleLeGaulois
Messages postés
48
Date d'inscription
lundi 2 juin 2014
Statut
Membre
Dernière intervention
18 septembre 2014
6
3 juin 2014 à 12:55
3 juin 2014 à 12:55
Bonjour,
Moi j'aurai fait comme ça (rapidement, sans implémenter de MVC ^.^) :
A+
Moi j'aurai fait comme ça (rapidement, sans implémenter de MVC ^.^) :
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class Swing { static JFrame f = new JFrame(); static Vector<JTextField> jtextields = new Vector<JTextField>(); static Vector<JLabel> jlabels = new Vector<JLabel>(); static JButton ajouter = new JButton("Ajouter"); static JPanel panel; public static void main(String[] args) { jtextields.add(new JTextField()); jlabels.add(new JLabel("test : ")); //ajout d'un listener sur le bouton qui ajoute une ligne ajouter.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { //ajout de la ligne jtextields.add(new JTextField()); jlabels.add(new JLabel("test : ")); refreshInterface(); } }); creerInterface(); } private static void refreshInterface() { //on enlève le panel et on recrée l'interface f.remove(panel); creerInterface(); } private static void creerInterface() { //on créé un panel avec un GridLayout dont le nombre de ligne vaut le nombre de textefields à afficher //(+1 pour le bouton Ajouter) panel = new JPanel(new GridLayout(jtextields.size()+1,2)); //ajout de tous les textfields et label for(int i=0; i<jtextields.size();i++){ panel.add(jlabels.get(i)); panel.add(jtextields.get(i)); } //ajoute le bouton panel.add(ajouter); //ajoute le panel à la frame f.add(panel); f.setSize(500, 500); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
A+
Modifié par EGP-Swyx le 3/06/2014 à 13:52
Merci !