Partage
  • Partager sur Facebook
  • Partager sur Twitter

récupération getText dans un tableau

Anonyme
    2 février 2010 à 18:41:48

    je récupére des valeurs d'une page a l'autre avec des methode get et set, puis je voudrait les mettres dans un tableau qui sera généré en PDF par la suite, voila le code
    /**
    *
    * @author loic
    */
    import com.lowagie.text.Cell;
    import java.io.FileOutputStream;
    
    import com.lowagie.text.pdf.PdfPTable;
    import com.lowagie.text.pdf.PdfPCell;
    import com.lowagie.text.pdf.PdfWriter;
    import com.lowagie.text.Document;
    import com.lowagie.text.Paragraph;
    import javax.swing.JLabel;
    
    
    public class Fact {
    private JLabel jtNom;
    private JLabel jtPrenom;
    private JLabel jtDate;
    private JLabel jcQuantitéE;
    private JLabel jcQuantitéP;
    private JLabel jcQuantitéD;
    private JLabel jlOption1;
    private JLabel jlOption3;
    private JLabel jlPrixPlats;
    private JLabel jlPrixDesserts;
    private JLabel jlPrixEntrées;
    private JLabel jlOption5;
    private JLabel jlTotalEntrées;
    private JLabel jlTotalDesserts;
    private JLabel jlTotalPlats;
    
    public void setNom(String Quantité ) {
    
    jtNom.setText(Quantité);
    }
    public void setPrenom(String Quantité ) {
    
    jtPrenom.setText(Quantité);
    }
    public void setDate(String Quantité ) {
    
    jtDate.setText(Quantité);
    }
    public void setQuantitéE(String Quantité ) {
    
    jcQuantitéE.setText(Quantité);
    }
    public void setQuantitéP(String Quantité ) {
    
    jcQuantitéP.setText(Quantité);
    }
    public void setQuantitéD(String Quantité ) {
    
    jcQuantitéD.setText(Quantité);
    }
    public void setSelectionEntrees(Object elementAt) {
    jlOption1.setText((String) elementAt);
    }
    public void setSelectionPlats(Object elementAt) {
    jlOption3.setText((String) elementAt);
    }
    public void setSelectionDesserts(Object elementAt) {
    jlOption5.setText((String) elementAt);
    }
    public void setPrixEntrée(String Prix ) {
    jlPrixEntrées.setText(Prix);
    }
    public void setPrixPlat(String Prix ) {
    jlPrixPlats.setText(Prix);
    }
    public void setPrixDessert(String Prix ) {
    jlPrixDesserts.setText(Prix);
    }
    public void setTotalEntrées(String Prix ) {
    jlTotalEntrées.setText(Prix);
    }
    public void setTotalPlats(String Prix ) {
    jlTotalPlats.setText(Prix);
    }
    public void setTotalDesserts(String Prix ) {
    jlTotalDesserts.setText(Prix);
    }
    
    
    public Fact() throws Exception{
    
    Document document = new Document();
    PdfWriter.getInstance(document,
    new FileOutputStream("SimplePDFTable.pdf"));
    document.open();
    
    PdfPTable table = new PdfPTable(3); // Code 1
    table.getDefaultCell().setBorder(Cell.NO_BORDER);
    
    // Code 2
    table.addCell(jtNom.getText());
    table.addCell("2");
    
    // Code 3
    table.addCell("3");
    table.addCell("4");
    
    // Code 4
    table.addCell("5");
    table.addCell("6");
    
    
    // Code 5
    document.add(table);
    document.close();
    }
    
    public static void main(String[] args) {
    try{
    Fact pdfTable = new Fact();
    }catch(Exception e){
    System.out.println(e);
    }
    }
    }
    

    Mais cependant je ne sai pas comment mettre les get dans le tableau
    j'éspére être bien compris
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      2 février 2010 à 23:22:35

      Je comprend pas l'usage des JLabel. Tu veux afficher ton texte en parallèle?
      Tu voudrais faire une interface graphique qui demande les valeurs que tu veux mettre dans ton tableau? Dans ce cas regarde du côté de JTextArea.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 février 2010 à 12:53:57

        Bonjour, les Labels ne servent a rien, bien vu, je veut juste grace au methode set, ou je récupére les valeurs d'une classe précédente, afficher c'est valeur dans un tableau rien de plus, afin de pouvoir apré le génré en pdf comme on le voi dans le code.
        Merci, et j'éspére etre compris
        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2010 à 17:45:51

          Dans ce cas le plus simple est sûrement de faire un tableau de String (ou une collection), qui contiendra tes différents messages.
          Après tu fait soit une méthode qui prend ce tableau comme paramètre et qui te le transforme en pdf.
          soit tu définis le tableau dans la classe et tu fais un setter/getter (ou tu le passes en paramètre dans ton constructeur)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            3 février 2010 à 19:41:19

            Oui d'accord, mais je ne vois pas comment mettre des get dans un tableau, je vois comment les mettre dans des label, des textfield, mais dans un tableau, tout les tableau que je trouve sur le net ne m'aide en rien, de plus j'ai deja fait plusieur sorte de tableau mais toujour le même probléme, plus d'aide me seait bien utile je patoge un peut.
            Merci quand même pour les infos
            • Partager sur Facebook
            • Partager sur Twitter
              3 février 2010 à 20:38:27

              Je pense (si j'ai bien compris) que tu as un problème avec la notion de tableau.
              En java, tu fais un tableau(ou array en anglais) en faisant suivre un objet de crochets.
              Voici plusieurs types de tableaux
              int[] tableauDeNombre = new int[3];
              String[] tableauDeChaînesDeCaracteres = {"Je suis intelligent", "moi aussi");
              monObjet[] tableauDeMonObjet;
              


              Les get(ters) sont des méthodes. Tu ne peux faire des tableaux de méthodes

              Sinon toi ce que tu veux (si j'ai bien compris) c'est qui il y a une classe1 qui contient des objets
              public class classe1{
              private int monObjet1;
              private String monObjet2;
              private Object monObjet3;
              }
              


              et tu as ta classe Fact qui stocke les chaînes de caractères associées dans un tableau (qui n'est pas un array) PDF.

              Si tu as une liste finie d'élément, tu crées un getter dans classe un pour chaque élément qui retourne le String associé (note: dans ce cas là ce n'est plus vraiment un getter...)

              public class classe1{
              private int monObjet1;
              private String monObjet2;
              private Object monObjet3;
              
              public String monObjet1toString(){
              return new String(monObjet1);
              }
              
              public String monObjet2toString(){
              return monObjet2;
              }
              public String monObjet3toString(){
              return monObjet3.toString;
              }
              


              Et après dans fact du rècupère les valeurs et tu les mets dans ton tableau PDF.
              table.addCell(classe1.monObjet1toString);
              table.addCell(classe1.monObjet2toString);
              table.addCell(classe1.monObjet3toString);
              


              C'est la méthode la plus proche de ce que tu fais actuellement.
              Mais elle est super bourrine.
              En effet, si tu rajoutes un élément, il faut que tu modifies tout ton code.
              Et imaginons que dans un futur (souvent plus proche qu'on veut bien le croire) tu veuilles réutiliser ta classe Fact pour mettre un nombre non connus de cellules dans ton tableau PDF.
              La tu es perdu.

              Il y a donc une (des) méthodes plus simple, en utilisant les arrays.
              Si tu sait que tu mettras toujours le même objet.
              Alors c'est très simple.
              Par exemple tu met toujours des chaînes de caractère.

              D'abord dans classe 1 tu crées un array de String. Tu peux spécifier sa taille avec un constructeur.
              public class classe1{
              private String[] monTableauDeValeur;
              
              //Mon constructeur qui renseigne la taille de mon tableau
              public classe1(int laTailleDeMonTableau){
              monTableauDeValeur = new String[laTailleDeMonTableau];
              }
              }
              

              après tu crées un setter qui prend un String et un numéro, et qui met le String dans la case i du tableau, et un getter (cette fois ci c'est un vrai :p ), qui retourne ton tableau.

              Dans Fact, ça devient très simple:

              Citation : classe Fact


              for(String s : classe1.getMonTableauDeValeur())
              table.addCell(s);
              



              Et c'est tout (enfin, pour stocker le texte)
              Comme tu le vois, le gros intérêt, c'est que ta classe Fact devient polyvalente. Tu peux la réutiliser dans n'importe quel programme.

              En faisant un tableau d'Object, tu peux prendre n'importe quel objet en paramètre

              Et mieux, tu peux aussi utiliser les collections... Dans ce cas tu n'as plus besoin de spécifier la taille à l'initialisation! Je le mets donc en secret car normalement si tu as compris le principe avec les tableaux tu dois pouvoir y passer facilement

              Citation : classe1


              public class classe1{
              //voilà la fameuse collection
              private ArrayList maListe;
              //on a plus besoin de spécifier la taille dans le constructeur
              public classe1(){
              maListe = new ArrayList();
              }
              //le "setter"
              public addMaListe(Object o){ //
              maliste.add(o); 
              }
              



              Citation : classe Fact


              ArrayList maListe = classe1.getMaListe();
              for(int i = 0; i < maList.size(); i++)
              table.addCell(maListe.get(i));
              





              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                4 février 2010 à 19:11:18

                Bonsoir, merci pour pour ces infos et le temp passé pour me renseigner, je vais m'aidé de tout ca, c tré sympas, j'ai passé un moment la dessu, et je pennse que ca va prendre forme, e,core merci.
                • Partager sur Facebook
                • Partager sur Twitter

                récupération getText dans un tableau

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown