begin process at 2012 02 12 17:42:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Autre

 > 

utiliser JTable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utiliser JTable

samedi 7 mars 2009 à 23:05:37 | utiliser JTable

Manelh

Je doit réaliser une application qui permet de lire la taille d'un tableau,saisir les valeurs(dans un JTable) pour le trier ,mon problème c que je n'arrive pas à récuperer les valeurs à partir du JTable  dans un tableau int[] pour le trie ,

import java.awt.*;
import java.awt.event.*; 
import javax.swing.*;
 
public class tab  extends JFrame {
 JButton b2  = new JButton("Trier");
 JTable tb;
 JTable tb2;
 Integer n;
 JPanel pr;
 int[] T;
 int[] TabTrie;
  JPanel p1=new JPanel();
  JLabel l1=new JLabel("  Introduire la taille du tableau : ");
  JButton b1 = new JButton("Valider");
  JTextField t1=new JTextField();
  public tab(String title){
   super(title);
   addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }});
   GridLayout gl=new GridLayout(2,4);
   //gl.setHgap(5);
   //gl.setVgap(5);
   p1.setLayout(gl);
   p1.add(new JLabel("  "));
   p1.add(new JLabel("  "));
   p1.add(new JLabel("  "));
   p1.add(l1);
   p1.add(t1);
   p1.add(b1);
   JPanel panelPrincipal = new JPanel();
     panelPrincipal.setLayout(new BorderLayout());
     panelPrincipal.add(p1,BorderLayout.NORTH);
    setContentPane(panelPrincipal);
    setBounds(600,400,600,250);
    pack();
    //center();
    b1.addActionListener (new ActionListener(){
     public void actionPerformed(ActionEvent e){
    
      n=new Integer(t1.getText()).intValue();
      System.out.println(n);
     tb = new JTable(1,n);
     // b2 = new JButton("Trier");
      pr=new JPanel();
      pr.setLayout(new BorderLayout());
      pr.add(tb,BorderLayout.WEST);
      pr.add(b2,BorderLayout.EAST);
      add(pr);
      pack();
           
      
      
     }
     

     
    });
    b2.addActionListener (new ActionListener(){
     public void actionPerformed(ActionEvent e){
     //new Traitement("Traitement",new Integer(t1.getText()).intValue());
     
     TabTrie = new int[n];
     T= new int[n];
     System.out.println(n);
     //Récupperer tableau
     for(int i=0;i<n;i++) {
      System.out.println("boucle");
      T[i] =(int)tb.getModel().getValueAt(1,i);
     //T[i] =Integer.parseInt(tb.getValueAt(1,i).toString());
     }

     TabTrie = trietab(T);
     //tb2.setValueAt(TabTrie[1], 0, 1);

     JPanel prs=new JPanel();
     tb2 = new JTable(1,2);
     prs.add(tb2);
      pr.add(prs,BorderLayout.SOUTH);
     
     // add(prs);
      pack();
           
      
      
     }
     

     
    });
    
  }
  public static int[] trietab(int[] tableau){
   /* Déclaration des variables à utiliser pour le tri*/
   int max, iMax, tmp;
   /*
   * Cette première boucle permet de fixer
   * la partie reste à trier du tableau
   */
   for(int j=tableau.length-1; j>0; j--){
   max = tableau[j];
   iMax = j;
   /*
   * Cette partie permet de chercher le maximum
   * dans la partie à trier
   */
   for(int idx=0; idx<=j; idx++){
   if(max < tableau[idx]) {
   max = tableau[idx];
   iMax = idx;
   }
   }
   /* permutation du maximum avec le dernier élément de la partie à trier
   *
   */
   tmp = tableau[j];
   tableau[j] = max;
   tableau[iMax] = tmp;
   }
   /*
   * La méthode retourne le tableau trié en sortie
   */
   return tableau;
   }
  /*void center() {
   Dimension tailleEcran= Toolkit.getDefaultToolkit().getScreenSize();
   int largeurEcran=tailleEcran.width;
   int hauteurEcran=tailleEcran.height;
   int largeur=getSize().width;
   int hauteur=getSize().height;
   int xPos = (largeurEcran-largeur)/2;
   int yPos = (hauteurEcran - hauteur)/2;
   setLocation(xPos,yPos);
  }*/
  public static void main(String[] args) {
   
   tab t= new tab("Traitement d'une table à une dimension");
   t.setVisible(true);
  }

 }

mardi 10 mars 2009 à 12:00:18 | Re : utiliser JTable

amundain

Réponse acceptée !
Salut,

Il y a un souci dans ta boucle de recup des valeurs.
Essaie avec ça :

for (int i=0;i<n;i++){

System.out.println("boucle");
T[i]=Integer.parseInt((String)tb.getValueAt(0,i));

}

Les numéros de lignes et colonnes des JTable commencent à 0...
Autre chose, pour la forme et les bonnes conventions, il estde bon ton en Java de nommer ses classes avec la première lettre en majuscule, et les variables en minuscule (ton tableau de int 'T', par exemple devrait s'appeler 't'...).


A +,

amundain


Java bien,merci.
mardi 10 mars 2009 à 23:25:47 | Re : utiliser JTable

Manelh

Salut amundain !
Je vous remercie beaucoup. ,ça marche mais il me reste un autre problème au niveau de l'affichage du tableau trié ds un JTable , je sais que je doit utiliser la méthode :   public void setValueAt(Object value, int row, int col),mais je ne comprend pas le parametre object value !!?
Merçi d'avance
A+
mercredi 11 mars 2009 à 08:38:21 | Re : utiliser JTable

amundain

Réponse acceptée !
Salut,

L'objet value correspond à ce que tu veux afficher dans ta cellule de jTable.
La méthode prend en paramètre un Object, le niveau le plus élevé de tous les objets, comme ça tu peux lui passer indifféremment du String ou de l'Integer, par exemple :

    setValueAt(55, 0,0);
    setValueAt("55", 0,0);

etc.



A +,

amundain


Java bien,merci.
mercredi 11 mars 2009 à 12:59:46 | Re : utiliser JTable

Manelh

Salut !
Merci beaucoooooooooooooooooooooup!
mais juste une remarque ,lorsque je saisie les valeurs du tableau ,je doit cliquer kk part de la fenêtre de tel façon que la dernière cellule sera sélectionné ,sinon il me singale une exeption! je vous remercie encore une fois
A+


Cette discussion est classée dans : int, p1, tableau, add, jtable


Répondre à ce message

Sujets en rapport avec ce message

inserer un jcheckbox dans un tableau [ par soumia12 ] salut ,j'arrive pas comment inserer un jcheckbox dans jtable sachant que mon tableau et remplisser à partir d'une base de donnée voila mon code:privat Courbe en java [ par unreachable21 ] Bonjour, Je voudrais dessiner une courbe en java via une IHM. J'ai une classe "Fenetre " qui étend JFrame qui contient les JTextfield ,JPanel e JButt problem decalage tableau d'objet [ par tarekinf ] bnsr [^^happy13] j'ai un petit problème pour décalé mon tableau qui contient un des objet de type JTextPane : Texte texte[]=new Texte[10]; for(int i [Java] Rafraichir Tableau [JTable] [ par sarahjtm ] [b]Bonjour[/b], Je dispose d'un tableau dans mon onglet "[b]Historique[/b]" dont en voici le code : [b]Code :[/b] [code=java] Defaul Comment attribuer une nouvelle police dans un titre de colonne (JTable, JAVA) [ par freelikeabird ] Bonjour à tous. Dans le cadre d'un projet, j'ouvre un "Popup" qui contient une JTable. J'aimerais bien "setter" une nouvelle police au titre de ma col problème au Hierarchical Clustering algorithme [ par rayhana1 ] Salut je veux réaliser un demo d'Hierarchical clusteing (monter une algorithme de segmentation hiérarchique) Ben, j'ai calculé le minimum distance en exporter un jtable vers un fichier excel [ par khadijaasma ] Bonjour je veux exporter les données d'un jtable vers un fichier excel voici mon code : [code=java] HSSFWorkbook wb = new HSSFWorkbook(); jtable [ par johnjjj ] Bonjour je souhaite créer une jtable 3 colonne Les deux première colonne contient des zone de texte et la troisième contient combobox Et Les l Application graphique d'un jeu d'échecs [ par tomalion ] Bonjour, Je suis étudiant et j'ai eu quelques cours sur la programmation java. Je dois rendre une application concernant un echiquier et je bloque d jtable [ par mathurine ] Bonjour, je voudrai faire la somme des montants se touvant dans une jtable; ma jtable à 3 colonnes;("designation;quantité;prix unitaire; montant"); l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales