Récupération des données dans une boucle for
boutheina
-
boutheina -
boutheina -
Bonsoir,
je suis débutante en java et je suis bloqué depuis 5 jours et je ne sais pas quoi faire.
concernant mon problème j'ai le FenetrePageFacebook qui permet de créer des pages facebook en remplissant un formulaire et en cliquant sur le bouton existant je récupère les données fournis et je les met dans une liste. réellement le problème réside si je veux créer plus qu'une page (ça ce que se passe réellement) ça à dire je veux que la fenetre s'affiche plusieurs fois et à chaque fois je saisie les informations puis je récupère les données (normalement il s'agit d'une boucle for).
S'il vous plait aidez moi
en fait ce code permet de récupérer les memes données saisies par l'utilisateur
je suis débutante en java et je suis bloqué depuis 5 jours et je ne sais pas quoi faire.
concernant mon problème j'ai le FenetrePageFacebook qui permet de créer des pages facebook en remplissant un formulaire et en cliquant sur le bouton existant je récupère les données fournis et je les met dans une liste. réellement le problème réside si je veux créer plus qu'une page (ça ce que se passe réellement) ça à dire je veux que la fenetre s'affiche plusieurs fois et à chaque fois je saisie les informations puis je récupère les données (normalement il s'agit d'une boucle for).
S'il vous plait aidez moi
package reseau;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.text.NumberFormat;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class FenetrePageFacebook extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel container = new JPanel();
private JTextField infoAuteur = new JTextField();
private JFormattedTextField nbreAmis = new JFormattedTextField(NumberFormat.getIntegerInstance());
private JComboBox listePolitiquePartage = new JComboBox();
private JLabel label1 = new JLabel("Politique De Partage");
private JComboBox listeFrequencePartage=new JComboBox();
private JLabel label2= new JLabel("Fréquence De Partage");
private JLabel label3= new JLabel(" Info Auteur :");
private JLabel label4= new JLabel(" Nbre d'Amis :");
private JButton b = new JButton ("Créer");
ArrayList<PageFacebook> pages=new ArrayList<PageFacebook>();
FenetreReseauSocial fn;
int NbrePageFacebook=0;
int ProportionPartage=0;
public FenetrePageFacebook(int x,int y){
String[] tab1 = {"Public", "Amis et leurs Amis", "Amis Seulement", "Personnaliser"};
listePolitiquePartage = new JComboBox(tab1);
String[] tab2 = {"Fréquence De Partage Elevée", "Fréquence De Partage Moyenne", "Fréquence De Partage Faible"};
NbrePageFacebook=x;
ProportionPartage=y;
listeFrequencePartage = new JComboBox(tab2);
this.setTitle("FenetrePageFacebook");
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
container.setBackground(Color.white);
container.setLayout(new BorderLayout());
listePolitiquePartage.setPreferredSize(new Dimension(150,30));
listeFrequencePartage.setPreferredSize(new Dimension(200,30));
infoAuteur.setPreferredSize(new Dimension(150, 30));
nbreAmis.setPreferredSize(new Dimension(150,30));
JPanel top = new JPanel();
b.addActionListener(new BoutonListener());
top.add(label3);
top.add(infoAuteur);
top.add(label4);
top.add(nbreAmis);
top.add(label1);
top.add(listePolitiquePartage);
top.add(label2);
top.add(listeFrequencePartage);
top.add(b);
listePolitiquePartage.addItemListener(new ItemState());
listePolitiquePartage.addActionListener(new ItemAction());
listeFrequencePartage.addItemListener(new ItemState());
listeFrequencePartage.addActionListener(new ItemAction());
container.add(top);
this.setContentPane(container);
this.setVisible(false);
}
public JTextField getInfoAuteur(){
return infoAuteur;
}
public JFormattedTextField getNbreAmis(){
return nbreAmis;
}
public class ItemState implements ItemListener {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
}
}
class ItemAction implements ActionListener{
public void actionPerformed(ActionEvent e) {
}
}
public String getInfoAuteurString(){
String infoAuteurString = getInfoAuteur().getText();
return infoAuteurString;
}
public int getNbreAmisInt(){
String nbreAmisString = getNbreAmis().getText();
int nbreAmisInt = Integer.parseInt(nbreAmisString);
return nbreAmisInt;
}
public String getPolitiquePartage(){
String politiquePartageSelectionne= (String) listePolitiquePartage.getSelectedItem();
return politiquePartageSelectionne;
}
public String getFrequencePartage(){
String frequencePartageSelectionne=(String) listeFrequencePartage.getSelectedItem();
return frequencePartageSelectionne;
}
public void recupererDonnees(int i){
PageFacebook nouvellePage =new PageFacebook();
nouvellePage.IdPage=i;
nouvellePage.InfoAuteur=getInfoAuteurString();
nouvellePage.NbAmis=getNbreAmisInt();
nouvellePage.PolitiquePartage=getPolitiquePartage();
nouvellePage.FrequencePartage=getFrequencePartage();
pages.add(nouvellePage);
System.out.println(pages.get(i).IdPage);
System.out.println(pages.get(i).InfoAuteur);
System.out.println(pages.get(i).PolitiquePartage);
System.out.println(pages.get(i).FrequencePartage);
this.setVisible(true);
}
class BoutonListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
for(int i=0;i<NbrePageFacebook;i++){
recupererDonnees(i);
}
}
}
}
en fait ce code permet de récupérer les memes données saisies par l'utilisateur
A voir également:
- Récupération des données dans une boucle for
- Fuite données maif - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Logiciel de récupération de données - Guide
3 réponses
Bonjour,
Ta boucle ne devra pas être dans le code de ta classe FenetrePageFacebook, mais plutôt dans le code qui appelle cette classe.
Du coup, ton
ArrayList<PageFacebook> pages=new ArrayList<PageFacebook>();
ne doit pas non plus être dans ta classe FenetrePageFacebook, mais dans la classe appelante.
Il te suffira de mettre ta boucle autour du new FenetrePageFacebook()
Xavier
Ta boucle ne devra pas être dans le code de ta classe FenetrePageFacebook, mais plutôt dans le code qui appelle cette classe.
Du coup, ton
ArrayList<PageFacebook> pages=new ArrayList<PageFacebook>();
ne doit pas non plus être dans ta classe FenetrePageFacebook, mais dans la classe appelante.
Il te suffira de mettre ta boucle autour du new FenetrePageFacebook()
Xavier
je n'ai pas bien compris ce que vous avez dit j'ai en tout cas créer une nouvelle classe qui contient la fonction de récupération mais elle n'a pas marché
voici le code
je ne sais pas est ce que vois avez bien compris mon problème: je veux créer des pages plusieurs fois c-a-d que à chaque fois que je clique sur le bouton créer de la page FenetrePageFacebook je veux récupérer les données saisies par l'utilisateur et l'ajouter à une arraylist. et en utilisant le code que j'ai posté hier je récupère les données et je l'ajoute au arraylist mais ces sont les memes données qui sont ajoutées à chaque fois.
voici le code
package reseau;
import java.util.ArrayList;
public class CreerPage {
int x,y;
FenetrePageFacebook fn=new FenetrePageFacebook(x,y);
ArrayList<PageFacebook> pages=new ArrayList<PageFacebook>();
public void recupererDonnees(int i){
PageFacebook nouvellePage =new PageFacebook();
nouvellePage.IdPage=i;
nouvellePage.InfoAuteur=fn.getInfoAuteurString();
nouvellePage.NbAmis=fn.getNbreAmisInt();
nouvellePage.PolitiquePartage=fn.getPolitiquePartage();
nouvellePage.FrequencePartage=fn.getFrequencePartage();
pages.add(nouvellePage);
System.out.println(pages.get(i).IdPage);
System.out.println(pages.get(i).InfoAuteur);
System.out.println(pages.get(i).PolitiquePartage);
System.out.println(pages.get(i).FrequencePartage);
}
}
je ne sais pas est ce que vois avez bien compris mon problème: je veux créer des pages plusieurs fois c-a-d que à chaque fois que je clique sur le bouton créer de la page FenetrePageFacebook je veux récupérer les données saisies par l'utilisateur et l'ajouter à une arraylist. et en utilisant le code que j'ai posté hier je récupère les données et je l'ajoute au arraylist mais ces sont les memes données qui sont ajoutées à chaque fois.