CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009
-
4 juil. 2007 à 15:33
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
4 juil. 2007 à 18:38
Salut à tous et à toutes, j'ai un gros problème : j'ai un formulaire à faire en java avec des boutons radios, et je dois écrire tout ce ke j'entre dans un fichier.txt , j'ai utilisé un PrintWriter pour écrire les infos dans mon fichier .txt mais je n'arrive pas à faire de "if" dans mon exception( comme vous savez printWriter exige un try et catch(une exception)).
CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009 4 juil. 2007 à 16:18
Ne lisez pas les deux programmes du dessus Je suis Archi Désolé.:(:(
Encore Merci
public class Programme extends JPanel implements ActionListener
{
JRadioButton Login,Password;
JButton ok,valider;
JTextField login,password;
/* Constructeur de la classe Programme */
Programme()
{
Login = new JRadioButton("Login");
Login.addActionListener(this);
Password = new JRadioButton("Password");
Password.addActionListener(this);
login = new JTextField(10);
password= new JTextField(10);
ok=new JButton("OK");
ok.addActionListener(this);
valider = new JButton("Valider");
valider.addActionListener(this);
// Récupération du conteneur de la fenêtre (java.awt.Container).
JPanel panneauSaisie = new JPanel( new GridLayout(2,4,5,5));
// Ajout des 2 labels, d'un champ de saisie et de deux boutons
panneauSaisie.add(Login);
panneauSaisie.add(login);
panneauSaisie.add(new JLabel());
panneauSaisie.add(new JLabel());
panneauSaisie.add(Password);
panneauSaisie.add(password);
panneauSaisie.add(ok);
panneauSaisie.add(valider);
if(evt.getSource()== valider )
{
//passe le chemin sur le repertoire home
JFileChooser ch = new JFileChooser();
// pas obligatoire mais je ne veux pas faire de filtre
ch.setAcceptAllFileFilterUsed(true);
// ici c'est pour créer un fichier donc pas besoin de valider la selection d'un rep
ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
// ouverture de la fenetre de save
int result = ch.showSaveDialog(this);
// il y a eu une selection valide
if (result == JFileChooser.APPROVE_OPTION)
{
File destFile = ch.getSelectedFile();
if (destFile == null)
{
//Warning pour l'enregistrement si on oublie d'inscrire un nom
JOptionPane.showMessageDialog(this, "Null file", "Error",JOptionPane.ERROR_MESSAGE);
return;
}
//pour le mode d'ouverture
boolean append = false;
try
{
PrintWriter pw = new PrintWriter(new FileOutputStream(destFile, append));
// ecriture du texte
if(evt.getSource()==Login)
{
login.setEnabled(true);
password.setEnabled(false);
//VOILA MON PROBLEME JE N'ARRIVE PAS A ECRIRE QUE LE CHAMP LOGIN
}
}
public static void main(String[] args)
{
// Création de la fenêtre (javax.swing.JFrame).
JFrame fenetre = new JFrame("Paramètres");
JPanel panneauLabels = new JPanel();
// Récupération du conteneur de la fenêtre (java.awt.Container).
Container panneau = fenetre.getContentPane();
panneau.setLayout(new FlowLayout(FlowLayout.LEFT,50, 50));
// Création du panneau de la Phase 1 avancé
Programme nouvoPanneau = new Programme();
panneau.add(nouvoPanneau);
// Calcul de la taille préférée de la fenêtre en fonction de son contenu.
fenetre.pack();
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 4 juil. 2007 à 16:25
//VOILA MON PROBLEME JE N'ARRIVE PAS A ECRIRE QUE LE CHAMP LOGIN
-> remplacez
pw.println( Motdepasse.PASSWORD + "\r");
par
else { pw.println( Motdepasse.PASSWORD + "\r"); }
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 4 juil. 2007 à 17:00
Salut,
je viens d'enlever les 2 programme inutiles ^^
autre
chose qui n'a absolument rien à voir avec ton prob d'écriture, oublie
le fenetre.show() qui est deprecated mais utilises la méthode
setVisible soit pour ton code ça donne fenetre.setVisible(true);
maintenant on reprend depuis le début et surtout ta méthode actionPerformed qui est super mal structuré :
public class Programme extends JPanel implements ActionListener {
JRadioButton Login, Password;
JButton valider;
JTextField login, password;
/* Constructeur de la classe Programme */
Programme() {
Login = new JRadioButton("Login");
Login.addActionListener(this);
Password = new JRadioButton("Password");
Password.addActionListener(this);
//dans la méthode action tu fais un traitement exclusif
//soit le login soit le mot de passe alors pas besoin de pouvoir les selectionner en meme temps....
//juste c'est 3 lignes empechent la sélection des 2 radiobutton
ButtonGroup group = new ButtonGroup();
group.add(Login);
group.add(Password);
login = new JTextField(10);
password = new JTextField(10);
valider = new JButton("Valider");
valider.addActionListener(this);
// Récupération du conteneur de la fenêtre (java.awt.Container).
JPanel panneauSaisie = new JPanel(new GridLayout(2, 4, 5, 5));
// Ajout des 2 labels, d'un champ de saisie et de deux boutons
panneauSaisie.add(Login);
panneauSaisie.add(login);
panneauSaisie.add(new JLabel());
panneauSaisie.add(new JLabel());
panneauSaisie.add(Password);
panneauSaisie.add(password);
panneauSaisie.add(valider);
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == Login) {
login.setEnabled(true);
password.setEnabled(false);
}
else if (evt.getSource() == Password) { //pourquoi faire tout les cas quand tu fait une action sur un bouton bien préci ??????
login.setEnabled(false);
password.setEnabled(true);
}
//le ok ne sert absolument à rien else if (evt.getSource() == valider) {
if(Login.isSelected() || Password.isSelected()) {// inutile de faire le traitement si c'est pas pour écrire dedans......
//passe le chemin sur le repertoire home
JFileChooser ch = new JFileChooser();
// pas obligatoire mais je ne veux pas faire de filtre
ch.setAcceptAllFileFilterUsed(true);
// ici c'est pour créer un fichier donc pas besoin de valider la selection d'un rep
ch.setFileSelectionMode(JFileChooser.FILES_ONLY);
// ouverture de la fenetre de save
int result = ch.showSaveDialog(this);
// il y a eu une selection valide
if (result == JFileChooser.APPROVE_OPTION) {
File destFile = ch.getSelectedFile();
if (destFile == null) {
//Warning pour l'enregistrement si on oublie d'inscrire un nom
JOptionPane.showMessageDialog(this, "Null file", "Error",
JOptionPane.ERROR_MESSAGE);
return;
}
//pour le mode d'ouverture
boolean append = false;
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(
destFile, append));
// ecriture du texte
if(Login.isSelected())//tu as sélectionné le login
pw.println(login.getText());//tu peux ecrire le texte de login
else if(Password.isSelected())//tu as sélectionné le mot de passe
pw.println(password.getText());
pw.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Exception : "
+ ex.getMessage(), "Error",
JOptionPane.ERROR_MESSAGE);
return;
}
}
}
}
}
public static void main(String[] args) {
// Création de la fenêtre (javax.swing.JFrame).
JFrame fenetre = new JFrame("Paramètres");
JPanel panneauLabels = new JPanel();
// Récupération du conteneur de la fenêtre (java.awt.Container).
Container panneau = fenetre.getContentPane();
panneau.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 50));
// Création du panneau de la Phase 1 avancé
Programme nouvoPanneau = new Programme();
panneau.add(nouvoPanneau);
// Calcul de la taille préférée de la fenêtre en fonction de son contenu.
fenetre.pack();
// Affichage de la fenêtre.
fenetre.setVisible(true); }
}
PS: ATTENTION aux règles de nommage java
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009 4 juil. 2007 à 17:46
Salut Twinuts,
Je suis vraiment désolé de toutes ces erreurs.Je reconnais je suis vraiment un boulet en prog, ca fait deux ans que j'en fais et j'ai encore des difficultés.
Je sais meme plus koi te dire a part toujours merci
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 4 juil. 2007 à 17:59
Salut,
bah c'est rien t'inquite pas ^^, de plus je ne dis pas ça pour que tu le prennes pour toi, je le dis simplement pour que tu puisses comprendre pourquoi tu part en while dans des problèmes assez bête et ainsi t'aider a ne plus avoir ce genre de problèmes
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009 4 juil. 2007 à 18:16
Oui mais kan meme c un peu cho detre en ecole dingé, de decouvrir linfo ke depuis 2 ans et de savoir fer ke des calcuuuuuuls(car jadore les maths donc si un jour ta besoin HESIIIIIIIIIITE PAAAAAAAAAAAAS).
CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009 4 juil. 2007 à 18:21
RE Salut Twinuts, pour info tu dois te demander ke je pose des questions sur des programmes ki à l abase sont pas compliquées : bah c fait exprès car j' ai un tres gros projet à finir pour dans un mois et je le fais petit à petit, quand je comprends pas qqhose j'essaie d'ecrire un programme tout simple qui m'eclaircit.Et apres j'arrive à reutiliser cet exemple pour mon projet. Voila c une technik kon ma di de fer.