ArrayList

Résolu
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009 - 9 juil. 2007 à 16:32
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 10 juil. 2007 à 21:41
Salut à tous,désolé d'abord si je pose trop de questions sur le forum mais c'est parce qu'il n'y a personne autour de moi qui puisse m'aider et je n'arrive pas à m'en sortir tout seul(en même temps si vous regardez mon statut vous voyez que je suis un  nul en programmation...).

J'aimerai savoir si pour ecrire plusieurs données enchainées on doit forcément utiliser ArrayList???

Car mon but est de remplir un formulaire, d'ecrire une première fois, puis appuyer sur un bouton , qui reinitialise les champs puis on ecrit une deuxieme fois et à la fin lorsque l'on enregistre tout cela dans un fichier .txt,on retrouve les premières et deuxièmes données inscrites les unes à la suite des autres.

Merci d'avance .

25 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 13:05
Salut,

1 - le final c'est simplement pour la sécurité, en gros ça évite de déférencer les objets et d'inclure des bugs.....
2 - pour faire ce que tu veux fais simplement (avec ce code tu ecris toujours à la fin du fichier (quand tu sélectionne le meme bien entendu ^^)) :
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Programm extends JPanel implements ActionListener {
    private static final long    serialVersionUID    = -3656647812938272038L;
    private JCheckBox            chkLogin            = null;
    private JCheckBox            chkPassword            = null;
    private JButton                btOk                = null;
    private JButton                btValider            = null;
    private JButton                btNouveau            = null;
    private JTextField            txtLogin            = null;
    private JTextField            txtPassword            = null;

    public Programm() {

        chkLogin = new JCheckBox("Login");
        chkLogin.addActionListener(this);

        chkPassword = new JCheckBox("Password");
        chkPassword.addActionListener(this);

        txtLogin = new JTextField(10);
        txtLogin.setEnabled(false);
        txtPassword = new JTextField(10);
        txtPassword.setEnabled(false);

        btNouveau = new JButton("Nouveau");
        btNouveau.addActionListener(this);

        btOk = new JButton("OK");
        btOk.addActionListener(this);

        btValider = new JButton("Valider");
        btValider.addActionListener(this);

        final JPanel panneauSaisie = new JPanel(new GridLayout(2, 4, 5, 5));

        panneauSaisie.add(chkLogin);
        panneauSaisie.add(txtLogin);
        panneauSaisie.add(btNouveau);
        panneauSaisie.add(new JLabel());
        panneauSaisie.add(chkPassword);
        panneauSaisie.add(txtPassword);
        panneauSaisie.add(btOk);
        panneauSaisie.add(btValider);

        setLayout(new BorderLayout(20, 20));
        add(panneauSaisie, BorderLayout.NORTH);

    }

    public void actionPerformed(ActionEvent evt) {
        if (evt.getSource().equals(chkLogin)) {
            txtLogin.setEnabled(chkLogin.isSelected());
        } else if (evt.getSource().equals(chkPassword)) {
            txtPassword.setEnabled(chkPassword.isSelected());
        }
        if (evt.getSource().equals(btNouveau)) {
            chkLogin.setSelected(true);
            txtLogin.setEnabled(chkLogin.isSelected());
            txtLogin.setText("");
            chkPassword.setSelected(true);
            txtPassword.setText("");
            txtPassword.setEnabled(chkPassword.isSelected());
        } else if (evt.getSource().equals(btValider)) {
            if (chkLogin.isSelected() || chkPassword.isSelected()) {
                final JFileChooser ch = new JFileChooser();
                ch.setAcceptAllFileFilterUsed(true);
                ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
                final int result = ch.showSaveDialog(this);
                if (result == JFileChooser.APPROVE_OPTION) {
                    final File destFile = ch.getSelectedFile();

                    if (destFile == null) {
                        JOptionPane.showMessageDialog(this, "Null file",
                                "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    try {
                        final PrintWriter pw = new PrintWriter(
                                new FileOutputStream(destFile, true));
                        if (chkLogin.isSelected()) {
                            pw.println(txtLogin.getText() + "\r");
                        }
                        if (chkPassword.isSelected()) {
                            pw.println(txtPassword.getText() + "\r");
                        }
                        pw.close();
                    } catch (final Exception ex) {
                        JOptionPane.showMessageDialog(this, "Exception : "
                                + ex.getMessage(), "Error",
                                JOptionPane.ERROR_MESSAGE);
                    }
                }
            }
        }
    }

    public static void main(String[] args) {
        final JFrame fenetre = new JFrame("Paramètres");
        final JPanel panneau = (JPanel) fenetre.getContentPane();
        panneau.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 50));
        panneau.add(new Programm());
        fenetre.pack();
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenetre.setVisible(true);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 14:18
Salut,

bah écoutes je lance l'application je met
login : salut
pwd : ca va
je valide et je save dans le fichier text.txt et j'ai dedans
ligne 1 : salut
ligne 2 : ca va
ensuit je fais nouveau pour effecer les champs et je met
login : bonsoir
pwd : au revoir
je valide et je save dans le fichier text.txt et j'ai dedans
ligne 1 : salut

ligne 2 : ca va
ligne 3 : bonsoir

ligne 4 : au revoir
je ferme l'application et je la relance je met
login : salut

pwd : ca va

je valide et je save dans le fichier text.txt et j'ai dedans

ligne 1 : salut


ligne 2 : ca va
ligne 3 : bonsoir


ligne 4 : au revoir
ligne 5 : salut

ligne 6 : ca va
.....

donc je ne vois pas trop ou est le problème

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 15:52
Salut,

voilà là j'ai compris ce que tu demande depuis des lustres ^^ voici le code illustrant ce que tu viens de dire (au passage je zape le bouton ok qui ne sert toujours à rien) :
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Programm extends JPanel implements ActionListener {
    private static final long    serialVersionUID    = -3656647812938272038L;
    private JCheckBox            chkLogin            = null;
    private JCheckBox            chkPassword            = null;
    private JButton                btOk                = null;
    private JButton                btValider            = null;
    private JButton                btNouveau            = null;
    private JTextField            txtLogin            = null;
    private JTextField            txtPassword            = null;
    // ta liste qui va acceuillir les data
    private List<String>        list                = null;

    public Programm() {

        // initialisation de la liste
        list = new ArrayList<String>();
        chkLogin = new JCheckBox("Login");
        chkLogin.addActionListener(this);

        chkPassword = new JCheckBox("Password");
        chkPassword.addActionListener(this);

        txtLogin = new JTextField(10);
        txtLogin.setEnabled(false);
        txtPassword = new JTextField(10);
        txtPassword.setEnabled(false);

        btNouveau = new JButton("Nouveau");
        btNouveau.addActionListener(this);

        btOk = new JButton("OK");
        btOk.addActionListener(this);

        btValider = new JButton("Valider");
        btValider.addActionListener(this);

        final JPanel panneauSaisie = new JPanel(new GridLayout(2, 4, 5, 5));

        panneauSaisie.add(chkLogin);
        panneauSaisie.add(txtLogin);
        panneauSaisie.add(btNouveau);
        panneauSaisie.add(new JLabel());
        panneauSaisie.add(chkPassword);
        panneauSaisie.add(txtPassword);
        panneauSaisie.add(btOk);
        panneauSaisie.add(btValider);

        setLayout(new BorderLayout(20, 20));
        add(panneauSaisie, BorderLayout.NORTH);

    }

    public void actionPerformed(ActionEvent evt) {
        if (evt.getSource().equals(chkLogin)) {
            txtLogin.setEnabled(chkLogin.isSelected());
        } else if (evt.getSource().equals(chkPassword)) {
            txtPassword.setEnabled(chkPassword.isSelected());
        }
        if (evt.getSource().equals(btNouveau)) {
            // si le champ login n'est pas vide on le rajoute ensuite on le vide
            if (!txtLogin.getText().equals("")) {
                list.add(txtLogin.getText());
                txtLogin.setText("");
            }
            // si le champ password n'est pas vide on le rajoute ensuite on le
            // vide
            if (!txtPassword.getText().equals("")) {
                list.add(txtPassword.getText());
                txtPassword.setText("");
            }
            chkLogin.setSelected(true);
            txtLogin.setEnabled(chkLogin.isSelected());
            chkPassword.setSelected(true);
            txtPassword.setEnabled(chkPassword.isSelected());
        } else if (evt.getSource().equals(btValider)) {
            // si la liste n'est pas vide
            if (!list.isEmpty()) {
                final JFileChooser ch = new JFileChooser();
                ch.setAcceptAllFileFilterUsed(true);
                ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
                final int result = ch.showSaveDialog(this);
                if (result == JFileChooser.APPROVE_OPTION) {
                    final File destFile = ch.getSelectedFile();

                    if (destFile == null) {
                        JOptionPane.showMessageDialog(this, "Null file",
                                "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    try {
                        final PrintWriter pw = new PrintWriter(
                                new FileOutputStream(destFile, true));
                        // on save toute la liste
                        for (final String s : list)
                            pw.println(s + "\r");
                        pw.close();

                    } catch (final Exception ex) {
                        JOptionPane.showMessageDialog(this, "Exception : "
                                + ex.getMessage(), "Error",
                                JOptionPane.ERROR_MESSAGE);
                    }
                    // on vide la liste
                    // je le fait ici pour la vider meme en cas d'erreurs
                    list.clear();
                }
            }
        }
    }

    public static void main(String[] args) {
        final JFrame fenetre = new JFrame("Paramètres");
        final JPanel panneau = (JPanel) fenetre.getContentPane();
        panneau.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 50));
        panneau.add(new Programm());
        fenetre.pack();
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenetre.setVisible(true);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
9 juil. 2007 à 17:13
Non tu peux utiliser tout ce qui te passe par la tête pour faire cà : Vector, ArrayList, LinkedList, etc. (d'ailleurs, dans ce cas précis, je pense que la LinkedList serait un peu plus optimisée).

Mais bon, je vois pas trop le rapport entre la collection qui te permettra de stocker tes données et ton problème de réinitialisation de tout à l'heure !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
9 juil. 2007 à 19:11
vi moi non plus je ne vois pas trop le rapport ;o) hihi ...
Sun préconise d utiliser un ArrayList plutot qu un Vector depuis la 1.6 ;o)  m enfin les vielles habitudes ont la vie dures ;o)

GodConan ;o)
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
9 juil. 2007 à 21:19
C'est simple voici le principe je veux  1-reinitialiser deux champs  lesquels ont été écrit une premiere fois puis 2- stocker ces premiers champs  et 3 ecrire de nouveaux champs et  ainsi de suite


 


Voila.
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
9 juil. 2007 à 21:24
ben vi ;o) tu peux use une list quel qu elle soit ... ;o) mais bon arrange toi qd meme pour ne pas avoir trop d enregistrement ;o) ... ;o) sinon il te faudra quand meme "bufferiser" pour naviguer dedans....
et pourquoi les conserver ds un vcteur ??!! si tu les enregistre ds un fichier ou ds une BDD il te suffit d y accéder par la suite....  pour rapeller les valeurs

GodConan ;o)
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
9 juil. 2007 à 21:30
Heu désolé mais je ne comprends pas trop ton explication GodConan l'Aventurier 
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
9 juil. 2007 à 23:43
;o) Je pense que pour des reponces  ;o) plus precises il faut affiner tes questions.... ;o)

GodConan ;o)
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 10:27
Grâce à ArrayList je veux avoir la possibilité de mettre plusieurs données à la suite et toutes ces données etant mis à la suite , je souhaiterais les ecrire dans un fichier .txt

Voici mon code :


final class Structure
{
static String LOGIN;
static String PASSWORD;
}

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Programm extends JPanel implements ActionListener {

JCheckBox Login, Password;
JButton ok, valider, nouveau;
JTextField login, password;
ArrayList <Structure>liste ;

Programm() {

Login = new JCheckBox("Login");
Login.addActionListener(this);

Password = new JCheckBox("Password");
Password.addActionListener(this);

login = new JTextField(10);
login.setEnabled(false);
password = new JTextField(10);
password.setEnabled(false);

nouveau = new JButton("Nouveau");
nouveau.addActionListener(this);

ok = new JButton("OK");
ok.addActionListener(this);

valider = new JButton("Valider");
valider.addActionListener(this);

ArrayList<Structure> liste = new ArrayList<Structure>();


JPanel panneauSaisie = new JPanel(new GridLayout(2, 4, 5, 5));

panneauSaisie.add(Login);
panneauSaisie.add(login);
panneauSaisie.add(nouveau);
panneauSaisie.add(new JLabel());
panneauSaisie.add(Password);
panneauSaisie.add(password);
panneauSaisie.add(ok);
panneauSaisie.add(valider);

setLayout(new BorderLayout(20, 20));
add(panneauSaisie, BorderLayout.NORTH);

}

public void actionPerformed(ActionEvent evt) {
if (evt.getSource().equals(Login)) {
login.setEnabled(Login.isSelected());
}
else if (evt.getSource().equals(Password)) {
password.setEnabled(Password.isSelected());
}
if(evt.getSource().equals(nouveau))
{
Login.setSelected(true);
login.setEnabled(Login.isSelected());
login.setText("");
Password.setSelected(true);
password.setText("");
password.setEnabled(Password.isSelected());
liste.add( new Structure());
}
else if (evt.getSource().equals(valider)) {
if (Login.isSelected() || Password.isSelected())
{
JFileChooser ch = new JFileChooser();
ch.setAcceptAllFileFilterUsed(true);
ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = ch.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION)
{
File destFile = ch.getSelectedFile();

if (destFile == null)
{
JOptionPane.showMessageDialog(this, "Null file",
"Error", JOptionPane.ERROR_MESSAGE);
return;
}
boolean append = true;

try
{
PrintWriter pw = new PrintWriter(new FileOutputStream(destFile, append));


if(evt.getSource()==nouveau)
liste.add(new Structure());
if (Login.isSelected())
{ pw.println(login.getText() + "\r");}
if (Password.isSelected())
{ pw.println(password.getText() + "\r");}
Iterator itr = liste.iterator();
while(itr.hasNext()){
Object obj = itr.next();
pw.println(element + "\r");
pw.close();
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(this, "Exception : "
+ ex.getMessage(), "Error",JOptionPane.ERROR_MESSAGE);
return;
}
}
}
}
}

public static void main(String[] args)
{
JFrame fenetre = new JFrame("Paramètres");
Container panneau = fenetre.getContentPane();
panneau.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 50));
Programm nouvoPanneau = new Programm();
panneau.add(nouvoPanneau);
fenetre.pack();
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
}
}
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 10:29
Salut,Heu désolé il y a une erreur : ce n'est pas élément mais "obj" :S
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 10:54
Salut,

tu n'as pas besoin de passer par une list pour faire ce que tu veux..... de plus arrete avec ton truc structure il ne te sert à rien.... ensuite pour ta liste tu fais :
[...]
ArrayList <Structure>liste ; //variable globale
[...]
ArrayList<Structure> liste = new ArrayList<Structure>();//variable locale au constructeur qui n'initialise en rien la var globale
//faudrait faire ce qui suit pour initialiser la variable globale
//liste = new ArrayList<Structure>();
[...]
//tout le reste touche une list qui est null.....

autre point tu fais :
if(evt.getSource()==nouveau)             
    liste.add(new Structure());
or ici aussi tu es à 3000 lieux du fonctionnement de ActionListener une fois de plus tu ferais vraiment mieux de comprendre l'utilisation de ActionListener parce que là tu es à l'ouest

voici une solution SANS liste (au passage ton bouton 'ok' ne sert à rien)
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Programm extends JPanel implements ActionListener {
    private static final long    serialVersionUID    = -3656647812938272038L;
    private JCheckBox            chkLogin            = null;
    private JCheckBox            chkPassword            = null;
    private JButton                btOk                = null;
    private JButton                btValider            = null;
    private JButton                btNouveau            = null;
    private JTextField            txtLogin            = null;
    private JTextField            txtPassword            = null;
    // cette variable passe le fichier en mode append ou non
    private boolean                append                = true;

    public Programm() {

        chkLogin = new JCheckBox("Login");
        chkLogin.addActionListener(this);

        chkPassword = new JCheckBox("Password");
        chkPassword.addActionListener(this);

        txtLogin = new JTextField(10);
        txtLogin.setEnabled(false);
        txtPassword = new JTextField(10);
        txtPassword.setEnabled(false);

        btNouveau = new JButton("Nouveau");
        btNouveau.addActionListener(this);

        btOk = new JButton("OK");
        btOk.addActionListener(this);

        btValider = new JButton("Valider");
        btValider.addActionListener(this);

        final JPanel panneauSaisie = new JPanel(new GridLayout(2, 4, 5, 5));

        panneauSaisie.add(chkLogin);
        panneauSaisie.add(txtLogin);
        panneauSaisie.add(btNouveau);
        panneauSaisie.add(new JLabel());
        panneauSaisie.add(chkPassword);
        panneauSaisie.add(txtPassword);
        panneauSaisie.add(btOk);
        panneauSaisie.add(btValider);

        setLayout(new BorderLayout(20, 20));
        add(panneauSaisie, BorderLayout.NORTH);

    }

    public void actionPerformed(ActionEvent evt) {
        if (evt.getSource().equals(chkLogin)) {
            txtLogin.setEnabled(chkLogin.isSelected());
        } else if (evt.getSource().equals(chkPassword)) {
            txtPassword.setEnabled(chkPassword.isSelected());
        }
        if (evt.getSource().equals(btNouveau)) {
            // lors de l'appui sur nouveau le prochain enregistrement ecrasera
            // le fichier
            append = false;
            chkLogin.setSelected(true);
            txtLogin.setEnabled(chkLogin.isSelected());
            txtLogin.setText("");
            chkPassword.setSelected(true);
            txtPassword.setText("");
            txtPassword.setEnabled(chkPassword.isSelected());
        } else if (evt.getSource().equals(btValider)) {
            if (chkLogin.isSelected() || chkPassword.isSelected()) {
                final JFileChooser ch = new JFileChooser();
                ch.setAcceptAllFileFilterUsed(true);
                ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
                final int result = ch.showSaveDialog(this);
                if (result == JFileChooser.APPROVE_OPTION) {
                    final File destFile = ch.getSelectedFile();

                    if (destFile == null) {
                        JOptionPane.showMessageDialog(this, "Null file",
                                "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    try {
                        final PrintWriter pw = new PrintWriter(
                                new FileOutputStream(destFile, append));
                        if (chkLogin.isSelected()) {
                            pw.println(txtLogin.getText() + "\r");
                        }
                        if (chkPassword.isSelected()) {
                            pw.println(txtPassword.getText() + "\r");
                        }
                        pw.close();
                    } catch (final Exception ex) {
                        JOptionPane.showMessageDialog(this, "Exception : "
                                + ex.getMessage(), "Error",
                                JOptionPane.ERROR_MESSAGE);
                    }
                    // on repasse en append à cause du traitement de nouveau
                    append = true;
                }
            }
        }
    }

    public static void main(String[] args) {
        final JFrame fenetre = new JFrame("Paramètres");
        final JPanel panneau = (JPanel) fenetre.getContentPane();
        panneau.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 50));
        panneau.add(new Programm());
        fenetre.pack();
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenetre.setVisible(true);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 11:06
Salut, j'ai trop mal expliquer mon problème(désolé faudra d'abord que je refasse un cours d'expression écrite).:(:(:(

J'aimerai reinitaliser les champs et ne pas écraser les anciennes valeurs.

Exemple: J'ecris une prmeiere fois: Login : salut Password: ca va
ensuite j'appui sur le bouton nouveau donc il reinitialise les champs

J'ecris bonsoir,au revoir

Je valide et on obtient: dans notre fichier .txt

salut
ca va
bonsoir
au revoir

C'est pour cette raison que j'ai pensé qu'il faudrait créer une ArrayList
et ajouter les elements

d'ou le liste = new ArrayList<Structure>();
Voila merci encore.
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 11:22
Salut,
en analysant ton programme je ne comprends pourquoi forcément tu mets plusieurs variables de type "final" est-ce une règle de programmation?

Il n'est pas obligatoire à la base?
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 14:02
Hello, excuse moi mais à chaque fois que je fais le test, les premieres données sont ecrasées alors qu'à la base j'aimerais les enregistrer dans mon fichier c'est pour cette raison que je pensais qu'un ArrayList ferait l'affaire.

Le but c'est d'ecrire autant de fois que je veux dans mon fichier texte

Là il n'ecrit que les dernieres données écrites.






 
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 14:43
Salut, excuse-moi je suis trop c.. ,oui oui , ça prouve que je dois reprendre des cours de français....
Je veux faire ce que tu as ecris precedemment mais directement.

Je vais essayer d'être compréhensible :

Si tu veux j'essaie de le faire mais sans appuyer deux fois sur valider(désolé j'arrive pas à être clair).

J'execute mon programme:

Je tape
login: bonjour
password: ca va

J'appuie sur "nouveau "qui permet d'enregistrer "bonjour et ca va"(et comme tu me l'as gentiment  {et d'ailleurs je te remercierai jamais assez }montrer il permet aussi de reinitialiser les champs) dans mon ArrayList donc mon ArrayList aura deux elements deja.
Apres, j'ecris une deuxieme fois:
login : merci
password: ok

J'appuie sur nouveau il stocke "merci et ok " dans mon ArrayList donc il y aura 4 elements.

et ainsi de suite.

A la fin, lorsque j'appuierai sur valider:  il ecrira tous les éléments de l'arraylist d'ou pourquoi je pensai à utiliser un iterateur. 

Ce que tu m'as dit est tout à fait parfait,mais vu le type de formulaire que je dois faire,je crois qu'il faut mieux que je fasse un ArrayList(le vrai formulaire que j'ai se fait en trois parties)

Voila, encore une n-ième fois MERCI et désolé du dérangement.

 
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
10 juil. 2007 à 15:59
quel patience ;o) Twinuts ;o) j ose à peine y metre les pieds qd je voi l étendu des dégats... ;o)

GodConan ;o)
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 16:32
[auteurdetail.aspx?ID=190746 GodConan]
> je sais bien mais bon... si je l'aide pas, j'ai bien l'impression qu'il risque d'attendre ses 100ans avant d'y arriver .... ^^

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
10 juil. 2007 à 17:13
Plus que 100 ans une eternité....encore merci.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juil. 2007 à 18:16
Salut,

si le problème est résolut merci de valider les réponses qui ton débloqué

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous