[debutant] encore pb avec fichier texte et java

cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012 - 9 août 2005 à 21:24
zied1982 Messages postés 3 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 13 avril 2006 - 13 avril 2006 à 11:41
bonjour à tous !!
voila il y a un truc qui ne marche pas dans mon code...
j'essaye de mettre des elements de mon fichier texte dans un un checkbox
je vous donne les elements de mon fichier texte :
libelle = jambon fromage
prix = 10
libelle2 = coca
prix2 = 3

bon il n'y a pas grand chose... mais quand mon code marchera j'en mettrais beaucoup plus!!

et voici mon code :




package com.creperiee.test;

import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigInteger;
import java.util.Enumeration;
import java.util.Hashtable;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.awt.Choice;
import java.util.Properties;
import java.io.*;
import java.awt.*;

public class Cartee extends Frame
{


    File propertiesFile;
    Properties props = new Properties() ;
    FileInputStream propertiesStream;
    Hashtable associationProduitsPrix;


    GridLayout grid = new GridLayout(5, 0); //(ligne,colonne)

    Label entree = new Label("entree");

    Checkbox salade = new Checkbox(props.getProperty("libelle"));
    Label lab = new Label(props.getProperty("prix"));
    Choice maCombo = new Choice();

    Checkbox melon = new Checkbox(props.getProperty("libelle"));

    Label cs = new Label("crepe salee");

    Checkbox jf = new Checkbox("jambon fromage");

    Checkbox complete = new Checkbox("complete");

    Label csu = new Label("crepe sucree");

    Checkbox su = new Checkbox("crepe au sucre");

    Checkbox choc = new Checkbox("crepe au chocolat");

    Label boi = new Label("boisson");

    Checkbox coca = new Checkbox("coca cola");

    Checkbox cidre = new Checkbox("cidre");

    Button bout = new Button("ticket");

    Button quitter = new Button("quitter l'application");


    public Cartee()

    {

        super("creperie");

        initFrame();

        addBouton();

        // initPrix();

        // initBoutonsListeners();

          Properties props = new Properties();
        File propertiesFile = new File("carte.txt");

        try {
            FileInputStream propertiesStream = new FileInputStream(
                    propertiesFile);

        }
        catch (FileNotFoundException e)
        {
            System.err.println("Fichier non trouvé");
        } catch (IOException e)
        {
            System.err.println("Impossible de lire");
        }



        //props.load(propertiesStream);
        // propertiesStream.close();
        quitter.addActionListener(new ListenerQuitter());
        //  bout.addActionListener(new ActionListener());



    }

    private void initFrame()

    {

        setSize(250, 250);

        setLayout(new FlowLayout()); //sinon n'affiche qu'un seul element ds la fenetre

        setVisible(true);

        setBackground(Color.yellow);

        setForeground(Color.black);

    }

    private void addBouton()

    {

        add(entree);

        add(salade);
        add(lab);
        add(maCombo);
        maCombo.add("1");
        maCombo.add("2");

        add(melon);

        add(cs);

        add(jf);

        add(complete);

        add(csu);

        add(su);

        add(choc);

        add(boi);

        add(coca);

        add(cidre);

        add(bout);

        add(quitter);

    }

    //private void initPrix()

    //{

    //    associationProduitsPrix = new Hashtable();

    //   associationProduitsPrix.put(salade, new BigInteger("10"));

    //   associationProduitsPrix.put(melon, new BigInteger("5"));

    // }

    private void initBoutonsListeners()

    {

        quitter.addActionListener(new ListenerQuitter());
    }


    public void ActionPerformed(ActionEvent e)

    {

        BigInteger total = new BigInteger("0");

        Enumeration enu = associationProduitsPrix.keys();

        while (enu.hasMoreElements())

        {

            Checkbox check = (Checkbox) enu.nextElement();

            if (check.getState())

            {

                BigInteger prix = (BigInteger)
                                  associationProduitsPrix.get(
                                          check);

                total = total.add(prix);
            }

            JOptionPane.showMessageDialog(null,
                                          "Total : " + total +
                                          " \u20ac");

        }
    }


    class ListenerQuitter implements ActionListener

    {

        public void actionPerformed(ActionEvent e)

        {

            System.exit(0);

        }

    }
        public static void main(String[] args)

        {

            Frame f = new Cartee();

        }
    }



j'ai mis :


Checkbox salade = new Checkbox(props.getProperty("libelle"));
    Label lab = new Label(props.getProperty("prix"));




--------------------------------------------------------------------------------


mais je n'arrive pas à afficher les elements que je veux dans mon checkbox, je ne comprends pas
donc si quelqu'un pourrait m'aider...

merci !

5 réponses

wildcat31 Messages postés 46 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 28 août 2005 3
13 août 2005 à 17:43
Bonjour,
Ca ne marche pas, parce que tu crées tes boutons avant d'avoir lu le fichier, et donc props n'a pas encore de noms chargés.

Wildcat
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
13 août 2005 à 18:20
oui oui merci c'est ok j'ai resolu le pb...

mais j'aurais une autre question..
voilà le but de mon code est de calculer le prix total d'une commande (en fonction de checkbox coché et de la quantité desirée pour un plat avec un combo)
mais pour cela, est ec que je dois utiliser BigInteger comme ce code

public void ActionPerformed(ActionEvent e) 

    { 

        BigInteger total = new BigInteger("0"); 

        Enumeration enu = associationProduitsPrix.keys(); 

        while (enu.hasMoreElements()) 

        { 

            Checkbox check = (Checkbox) enu.nextElement(); 

            if (check.getState()) 

            { 

                BigInteger prix = (BigInteger) 
                                  associationProduitsPrix.get( 
                                          check); 

                total = total.add(prix); 
            } 

            JOptionPane.showMessageDialog(null, 
                                          "Total : " + total + 
                                          " \u20ac"); 

        } 
    } 

où dois je utiliser autre chose??

en faite j'avais dejà un code permettant de faire le calcul total d'une commande mais sans fichier texte (ceci est beaucoup plus pratique si l'on doit modifier un plat ou le supprimer....)
donc est ce possible de le réutiliser en l'daptant à mon nouveau code ou bien cette methode est completement inapproprié à l'utilisation de fichier texte?

merci...
0
wildcat31 Messages postés 46 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 28 août 2005 3
25 août 2005 à 20:58
Bonjour,
Excuze j'étais en vacances...
Je suis pas sûre d'avoir bien compris ta question. Si tu veux savoir si tu peux utiliser BigInteger, oui, mais je pense qu'utiliser un Integer est plus simple. Comme ça, quand tu fais le total, tu convertis le Integer en int, et c'est plus simple à manipuler.
En tous cas, ça dépend pas du fait d'utiliser ou non le fichier texte.
++
0
zied1982 Messages postés 3 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 13 avril 2006
13 avril 2006 à 11:41
Salut,
J'ai un problème que j'aimerait le résoudre le plus tôt que possible car c'est urgent.
Comment déplacer, après l'exécution de l'application, des boutons d'un JPanel à un autre JPanel en utilisant le drag and drop.
Merci bcp d'avance.
0

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

Posez votre question
zied1982 Messages postés 3 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 13 avril 2006
13 avril 2006 à 11:41
Salut,
J'ai un problème que j'aimerait le résoudre le plus tôt que possible car c'est urgent.
Comment déplacer, après l'exécution de l'application, des boutons d'un JPanel à un autre JPanel en utilisant le drag and drop.
Merci bcp d'avance.
0
Rejoignez-nous
A voir également