Ecriture dans un fichier texte

avrilspirit Messages postés 6 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 13 juillet 2010 - 15 janv. 2009 à 18:01
chris081 Messages postés 90 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 4 février 2009 - 16 janv. 2009 à 01:43
Bonjour,
j'ai un petit soucis.
je souhaite réaliser une petite interface en swing, j'ai suivi un tutoriel.
j'ai juste créer un bouton et un textefield.
je souhaiterais que quand l'on appuis sur le bouton cela prenne l'écriture du textfield et que le texte soit envoyé dans un fichier txt.
j'ai chercher partout sans réponse:(

Voici mon code :
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class SimpleFenetre extends JFrame implements ActionListener{

public SimpleFenetre(){
super();

build();//On initialise notre fenêtre
}

private void build(){
setTitle("Gestion du restaurant"); //On donne un titre à l'application
setSize(400,200); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On interdit la redimensionnement de la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());

}

private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(Color.white);

JLabel label = new JLabel("entrez votre entrée");
panel.add(label);
JButton bouton = new JButton("ok");
bouton.addActionListener(this);
panel.add(bouton);
JTextField F1 = new JTextField();
F1.setColumns(15); //On lui donne un nombre de colonnes à afficher
panel.add(F1);
return panel;

}
public String actionPerformed(ActionEvent e) {
System.out.println("coucou");
JTextField F1;
return F1.getText();
}


}

3 réponses

avrilspirit Messages postés 6 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 13 juillet 2010
15 janv. 2009 à 18:03
désolé cela m'a fait un affichage...
0
Utilisateur anonyme
15 janv. 2009 à 21:02
Bonjour,

Et que ce passe-t-il avec ce code ?

Que ne fait-il pas qu'il devrait faire ?
(à part écrire dans un fichier...)

Que fait-il qu'il ne devrait pas faire ?

Cordialement,
...\ Dan /...
0
chris081 Messages postés 90 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 4 février 2009
16 janv. 2009 à 01:43
Salut


import java.io.File;

import java.io.FileWriter;

public void actionPerformed (ActionEvent ae){

File f = new File ("c:\john.doe.txt");

try {

if (f.isFile() && f.canWrite(){

FileWriter fw = new FileWriter (f);

String texte = F1.getText();

// la ligne suivante ecrit a la suite des donnes dans le fichier

fw.write (texte, (int)f.length()-1, texte.length()-1);
// la ligne suivante ecrit dans le fichier sans se soucier de son contenu

// fw.write(texte);
//fermer le fichier
fw.close();

} // fin if

} catch (java.io.IOException){} // fin try/catch
} // fin actionPerformed (ActionEvent)

Si je peux te donner quelques conseils:

1- évite d'utiliser des lettres majuscules pour DEBUTER le nom d'une fonction; celles-ci sont 'réservées' pour débuter le nom d'une classe, interface, etc...
2- évite d'utiliser des caractères pouvant être confondu avec d'autres caractères (par exemple, 1 et l sont durs à différencier).

Ci-dessous, tu trouveras les liens pour la javadoc online concernant File, FileWriter, OutputStreamWriter et IOException.
0