IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

affichage d'une liste dans une jtable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut affichage d'une liste dans une jtable
    Bonjour tout le monde

    J'ai regardé ce tuto

    http://java.sun.com/docs/books/tutor...nts/table.html

    Je n'arrive pas à adapter ce tuto à mon prog.

    Voici la class des composant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
     
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color.*;
    import javax.swing.JTable;
     
    public class Elementbanque extends JPanel implements ActionListener
     
    {
     
    modetable mo = new modetable();
     
    int i = mo.getrows();
     
    JTextField pretdemand;
    JTextField quotient;
    JTextField sommetot;
    JTextField temps;
     
    JButton somme;
    JButton quit;
     
    JTable rembourcement;
     
    public Elementbanque()
     
    {
     
    JLabel creditinsset = new JLabel("Crédit argon");
    this.add(creditinsset);	
    creditinsset.setForeground(Color.red);
     
    	Font creditinssetfont = creditinsset.getFont();
    	creditinssetfont = creditinssetfont.deriveFont(Font.BOLD).deriveFont(16f);
    	creditinsset.setFont(creditinssetfont);
     
     
    	JLabel sommedemand = new JLabel("Somme demandé");
    	this.add(sommedemand);
     
    	 pretdemand = new JTextField(10);
     
    	this.add(pretdemand);
     
     
     
    	JLabel taux = new JLabel("Taux");
    	this.add(taux);
     
     
    	 quotient = new JTextField(10);
     
    	this.add(quotient);
     
    	JLabel dette = new JLabel("Total due");
    	this.add(dette);
     
    	 sommetot = new JTextField(10);
    	sommetot.addActionListener(this);	
     
     
     
    	JLabel cal = new JLabel("calcul");
    	this.add(cal);
     
    	 somme = new JButton("somme");
    	somme.addActionListener(this);
    	this.add(somme);
     
    	JLabel nbmois = new JLabel("période du pret");
    	this.add(nbmois);
     
    	 temps= new JTextField(10);
    	this.add(temps);
     
     
     
    	String[][] rowData = new String[i][2];
    	String[] columnNames = new String[2];
     
    	columnNames[0]="Date"; 
    	columnNames[1]="Somme prélevée"; 
     
    	rembourcement = new JTable(rowData,columnNames);
    	JScrollPane sroll = new JScrollPane(rembourcement);
    	this.add(sroll);
     
     
    	 quit = new JButton("Quitter");
    	quit.addActionListener(this);
    	this.add(quit);
     
     
     
    }
     
    public void actionPerformed(ActionEvent evt) {
     
     
    Calcul c = new Calcul();
     
     
     
    Object source = evt.getSource();
     
     
    int totalannee=0, moi=0, tempstaux=0; 
     
    float totaldue=0; 
     
    String riendanssommdemande="";
     
     
    boolean som=false;
     
     
    if(source==somme)
    {
     
    som=true;
     
    int emprunt =  Integer.parseInt(pretdemand.getText());
     
    int temp = Integer.parseInt(temps.getText());
     
     
    float taux = Float.valueOf(quotient.getText());
     
     
     
     
    sommetot.setText(Double.toString(c.pret(som, riendanssommdemande, taux, totalannee, tempstaux, moi, emprunt, totaldue, temp)));
     
    }
     
    if(source==quit)
    {
     
    System.exit(0);
     
    }
     
    	float real;
     
    	real=c.getSommprelev();
     
    	String paiement;
     
    	paiement = String.valueOf(real);
     
    rembourcement.setValueAt(paiement,i,1);
    }
     
    }

    Voici la class de model de la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
     
    import javax.swing.table.AbstractTableModel;
     
    import java.util.Vector;
     
    import java.util.GregorianCalendar;
    import java.util.Calendar;
    import java.util.Date;
     
    public class modetable extends AbstractTableModel
    {
     
     
    Calcul c = new Calcul();
     
    GregorianCalendar calendar = new java.util.GregorianCalendar(); 
     
    int ligne=0;
    int j,nb;
    float preleve=0;
     
     
    public int getRowCount()
    {
     
     
    return rowData.length;
    }
     
    public int getColumnCount()
    {
     
     
     
    return 0;
    }
     
    public Object getValueAt(int rows, int cols)
    {
     
     
     
    return 0;
    }
     
     
    public void setValuAt(Object aValue,int row, int column)
    {
     
     
     
    return ;
    }
     
    public int getrows()
    {
     
     
     
    nb=c.getTemps();
     
    nb=nb*12;
     
     
    ligne=nb;
     
    for(j=1;j<ligne;j++)
    {
    calendar.add(calendar.MONTH,1);
    Date tempDate = calendar.getTime();
     
     
     
    }
     
    return j;
    }
    }
    Je souhaiterais pouvoir afficher le résultat directement dans le tableau apres le click sur le bouton somme, ce resultat sera un plan appurement pour le rembourcement d'un prêt.

    Pouvez vou m'aider.

    Merci

    Cordialement

    A bientôt

  2. #2
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    lu,

    y'a un truc que je comprends pas, pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public int getColumnCount()
    {
    return 0;
    }
    ??

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    getColumnCount correspond bien au nombre de colonne, et le nombre de colonne est deja spécifié dans la construction de la jtable.

    Mai je pense que j'ai mal compris le tuto.

    Merci

    Cordialement

    A bientôt

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bon deux questions

    1. Où stockes tu tes données dans le model car là je ne vois pas trop
    2. Qu'est-ce que la classe Calcul
    Ensuite des constatations:
    Les méthodes getValueAt et setValueAt ne font rien, il est de ce fait normal que rien n'apparaisse dans ta table. Ceci étant bien sûr relié au fait que tu ne stocke pas tes données dans le model, chose pour laquelle il est pourtant fait.
    Grosso merdo tu devras avoir un matrice d'Object (un tableau de tableaux d'Object) stockant toutes tes valeur.
    Le setValueAt(Object o, int x, int y) sert à mettre la veleur O dans la case correspondant au coordonnées x et y de ta matrice.
    le getValueAttint x, int y) sert à récupérer la valeur contenue dans la case correspondant aux coordonnées x et y de ta matrice.
    le getColumnCount() correspond au nombre de collones dans ta matrice et le getRowCount() correspond au nombre de lignes dans celle ci
    Eventuellement tu oeux également implémenter la méthode getColumnName(int i) qui renvoie le nom de la colonne se trouvant à l'index i
    celà permet d'fficher le nom des colones dans ta JTable

    ensuite quelle est l'utilité de la méthode getrows que tu as créé? car elle ne correspond à aucune méthode de l'abstractTableModel et donc ne sert à rien vis à vis de la JTable.


    bon, comme d'hab tu n'as pas compris grand chose......
    Faudrait faire des efforts un peu de temps en temps jeune homme.
    Car bon je ne vais pas aller chercher ton premier post sur le forum java, mais bon ça fait une paye et le concept du mvc devrait déja être intégré...

  5. #5
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    rien d'autre à ajouter

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour

    C'est dans la class Calcul, que les calculs sont fai pour le prêt.
    Je veux ensuite récupérer le résultat dans la jtable.

    Voici la class Calcul.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
     
    public class Calcul
    {
     
    public float totaldue=0;
     
    public int temps=0;
     
     
    public float moi=0;
     
    boolean som=false;
     
    String riendanssommdemande;
     
    float taux=0,totalannee=0, tempstaux=0; 
    int emprunt=0;
     
     
     
    public float sommprelev=0;
     
    public float pret(boolean som,String riendanssommdemande, float taux, float totalannee, float tempstaux, float moi, int emprunt, float totaldue, int temps)
     
    {
     
     
    riendanssommdemande = Integer.toString(emprunt);
     
     
     
    if(som==true)
    {
    	if(riendanssommdemande.equals("")||taux ==0)
    	{
     
     
    JOptionPane.showMessageDialog(null,"Formulaire incomplet");
     
     
    	}
     
    		else
    		{
     
     
     
    		      moi=(int)(emprunt*taux/100) +  (int)emprunt;
     
    				totalannee=moi*12;
     
     
    				tempstaux=taux/100;
     
     
    				 return totaldue=temps*totalannee+tempstaux;
     
     
    				}
    }
     
     
    return totaldue;
     
    }
     
    public float affichetable(float sommprelev, float moi, float totaldue, int temps  )
     
     
    {
     
    sommprelev=totaldue/temps;
     
     
    return sommprelev;
     
    }
     
    public int getTemps()
    {
     
    return temps;
    }
     
    public float getSommprelev()
    {
    return sommprelev;
     
    }
     
     
    }
    Avez vous compris?

    Cordialement

    A bientôt

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est pas réellement ce que je te demandais.

    A quoi sert la classe Calcul dans ton modèle vu que tu ne l'utilise nulle part.....

Discussions similaires

  1. une liste dans une liste?
    Par JerryOne3 dans le forum C#
    Réponses: 11
    Dernier message: 11/01/2009, 16h43
  2. quand je selectionne une valeur dans une liste, retourne une autre valeur
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/12/2008, 14h23
  3. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo