begin process at 2012 02 15 10:48:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Api

 > REUNIR PLUSIEURS COLONNES D'UNE JTABLE SOUS UNE MÊME ENTÊTE

REUNIR PLUSIEURS COLONNES D'UNE JTABLE SOUS UNE MÊME ENTÊTE


 Information sur la source

Note :
5 / 10 - par 2 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Api Classé sous :réunir, colonnes, jtable, entête Niveau :Débutant Date de création :09/11/2005 Vu / téléchargé :7 006 / 1 121

Auteur : indiana_jules

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Hé bien tout est dans le titre :p
Pour pouvoir faire ce reougrepement, il faut donc déclarer une MyTable avec pour titre un ColumnGroupe où l'on insére les titres et sur combien de colonnes elle doit agir.
Voilà


 Conclusion

Ce n'est pas une version de finalisation. En effet, il manque par exemple le fait de pouvoir intervertir les colonnes (je n'ai pas encore réfléchi à la maniére de faire). Et puis, je pense que le code peut être miuex fait.
Voilà

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

UNE SEULE INSTANCE DE PROGRAMME SANS SOCKET
Source avec Zip JMF ET RTP
Source avec Zip Source avec une capture JTABBEDPANE FERMABLE AVEC GESTION DU DRAG AND DROP
Source avec Zip OBSERVER ET OBSERVABLE EN RMI
Source avec Zip Source avec une capture HEADER POUR LES LIGNES D'UNE JTABLE

 Sources de la même categorie

Source avec une capture AUTO FOLLOW/UNFOLLOW AVEC JTWITTER/OAUTHSIGNPOSTCLIENT ET SW... par GeroXXXX
Source avec Zip LOGICIEL MESSAGERIE par layeure
Source avec Zip Source avec une capture CRÉER DES GRAPHIQUES : UTILISATION DE JFREECHART par Julien39
EJB3-BEAN ENTITÉ : RELATIONS BIDIRECTIONNELLES par SoftDeath
Source avec Zip Source avec une capture LETMESEE : CAPTURE D'ÉCRAN À INTERVALLE RÉGULIER : UTILISATI... par pyo656

 Sources en rapport avec celle ci

REDIMENSIONNER UNE JTABLE par Julien39
Source avec Zip Source avec une capture JTABLE CUSTOMISÉE par Julien39
Source avec Zip Source avec une capture AFFICHER UN FICHIER CSV DANS UNE JTABLE par Julien39
Source avec une capture JTABLE REDIMENSIONNABLE par Julien39
Source avec Zip Source avec une capture HEADER POUR LES LIGNES D'UNE JTABLE par indiana_jules

Commentaires et avis

Commentaire de bamoune le 08/01/2010 15:30:22

salut
merci pour votre code que j'en besoin beaucoup
j'ai lu le code mais je suis un peu perdu pour l'utiliser car je suis débutant en java,puis je avoir de l'aide .ou sont les titre,ou dois-je les injecter avec leur groupe de colonne pour que ce tableau apparait dans une frame...

Commentaire de bamoune le 09/01/2010 20:35:35 2/10

votre code semble efficace mais on n'arrive pas a comprendre le vector group comment il'est construit
merci de nous doner un ptit exemple
merci pour ton aide

Commentaire de indiana_jules le 10/01/2010 11:21:35

Bonjour à tous,

Cela fait très longtemps que je n'ai pas regardé cette source, néanmoins quand on lit le code, je vois qu'il faudrait voir les points suivants:

1) Créer une instance ColumGroup : new ColumGroup

2) Le remplir : myColumGroup.addHeaderColumnGroup('un titre', 2); // réunir deux colonnes dont le titre sera 'un titre'

3) Utiliser le constructeur public MyTable(Vector data, ColumnGroup titre, boolean[] editable, boolean[] visible); // editable & visible ayant une taille égale aux nombres de colonnes de départs. data est un vector contenant des vectors (faisant ainsi une grille de données).

Ceci est une vieille source (datant de la JDK 1.4). Il faudrait la revoir avec les génériques de la version 1.5, et surtout proposer une meilleure implémentation (se basant sur des modèles Swing, ce qui serait mieux).

Voilou

Commentaire de bamoune le 11/01/2010 14:26:51

merci beaucoup pour ton aide
y'a t'il de ton coter du nouveau sur ce sujet
j'ai pas encore essayer ton code, je v'ai l'essayer avec tes nouveau conseille et je vous répondrai au plus vite.
merci.

Commentaire de bamoune le 12/01/2010 09:40:29

Bonjour a  tou le monde
je vous est envoyer hier un S.O.S mais je voie qu'il n'est pas afficher !!peut-être qu'il y avait un problème de connections ,c'est pas grave...
merci pour ton code, je les essayer avec les ptite astusses que vous m'avait envoyer car j'ai créé une  instance de ColumnGroup puis je les remplie avec un titre et le nombre de colonne qui lui sont assossier mais j'ai trouvez un problème pour la méthode MyTable qui est comme suit MyTable(Vector data, ColumnGroup titre, boolean[] editable, boolean[] visible);
puis-je avoir un petit exp qui démontrer comment utiliser cette méthode se qui va me faire comprendre comment créé un vector grille et aussi comment on peut affecter une méthode comme un argument a une autre méthode.je précise que je suis nouveau en java et vos conseilles m'apporte beaucoup.
merci et j'attends avec impatience votre réponce.

Commentaire de indiana_jules le 12/01/2010 12:00:47

ColumGroup group = new ColumGroup();
group.addHeaderColumnGroup('un titre', 2);
group.addHeaderColumnGroup('un titre 2', 1);

Vector data = new Vector();
data.add(new Vector(Arrays.asList("a1", "a2", "a3"));

MyTable table = new MyTable(data, group, new boolean[]{true, true, true}, new boolean[]{true, true, true});

Commentaire de bamoune le 14/01/2010 19:11:00

bonjour a tous
merci pour cette eclairssisselent et je m'excuse pour cette absence car j'avait des problemes de verus sur mon micro
je vous dirai de mes nouvelle aprés avoir essayer vos consseilles
merci

Commentaire de bamoune le 15/01/2010 18:06:06


bonjour

puis je avoire un peut de documentation et de cours concernant la construction des tableaux comme ce modelle
merci

Commentaire de bamoune le 16/01/2010 16:41:11

bonjour
voila ce que j'ai fait mais sa n'a rien donner:
j'ai créé une matrice main que je l'ai appeler commende qui est comme suit:
import java.util.Arrays;

import java.util.Vector;


public class commende {
commende(){
ColumnGroup group = new ColumnGroup();
group.addHeaderColumnGroup("durrée en heures", 2);
group.addHeaderColumnGroup("durée en minutes", 2);

Vector<Vector<String>> data = new Vector<Vector<String>>();
data.add(new Vector<String>(Arrays.asList("02", "Hrs", "20","Min")));
MyTable mon_tableau =new MyTable();
mon_tableau.MyTabl(data, group, new boolean[]{true, true, true,true}, new boolean[]{true, true,true,true});

       }
public static void main(String[] args) {

comende essai = new comende();//pour exécuter la méthode commende
}
      }
puis je voulais avoir un affichage sur une frame alore j'ai rendu la classe MyTable comme suit :

import java.util.Vector;
import javax.swing.*;


public class MyTable {
  //Variables globales
private boolean useColumnGroup = false;
  private MyTableColumnModel column;
  private MyTableModel model;

  /**Constructeur
   * @param data Données
   * @param titre Titre des colonnes
   * @param editable Quelle colonne sont éditables
   * @param visible Quelles colonnes sont visibles*/
  public  void MyTabl (Vector<Vector<String>> data, ColumnGroup titre, boolean[] editable, boolean[] visible) {
  
    jbinit(data, titre, editable, visible);
  }

  

  /**Méthode permettant d'ajouter une nouvelle ligne
   * @param newLigne Nouvelle ligne de données*/
  public void addRow(Vector<?> newLigne) {
    model.addRow(newLigne);
    model.fireTableDataChanged();
  }

  /**Méthode permettant d'ajouter une nouvelle ligne
   * @param newLigne Nouvelle ligne de données
   * @param index A quelle ligne*/
  public void addRow(Vector<?> newLigne, int index) {
   model.insertRow(index, newLigne);
   model.fireTableDataChanged();
  }

  /**Méthode permettant d'initialiser par défaut les statuts des colonnes
   * @param number Nombres de colonnes
   * @return tableau résultant*/
  private boolean[] defaultStatut(int number) {
    boolean[] edit = new boolean[number];
    for(int i = 0; i < number; i++){
      edit[i] = false;
    }
    return edit;
  }

  /**Méthode permettant d'initialiser par défaut les titres des colonnes
   * @param number Nombres de colonnes
   * @return tableau résultant*/
  private Vector<String> defaultTitle(int number) {
    Vector<String> titre = new Vector<String>();
    for(int i = 0; i < number; i++){
      titre.add("");
    }
    return titre;
  }

  /**Méthode permettant d'initialiser par défaut la visibilité des colonnes
   * @param number Nombres de colonnes
   * @return tableau résultant*/
  private boolean[] defaultVisible(int number) {
    boolean[] visible = new boolean[number];
    for(int i = 0; i < number; i++){
      visible[i] = true;
    }
    return visible;
  }

  /**Méthode permettant de supprimer une ligne
   * @param index Suppression de ligne*/
  public void deleteRow(int index) {
    model.removeRow(index);
    model.fireTableDataChanged();
  }

  /**Méthode permettant de récupérer les données
   * @return Données*/
  public Vector<Vector<?>> getData() {
    return model.getDataVector();
  }
  /**Méthode retournant la ligne indiquée du tableau
   * @param index Quelle ligne
   * @return Ligne en question*/
  public Vector<?> getRow(int index) {
   return (Vector<?>)this.getData().get(index);
  }
  
  JPanel pan =new JPanel();

  /**Méthode permettant d'interchanger deux lignes
   * @param ligne1 Ligne à transvaser
   * @param ligne2 Ligne à transvaser*/
/* public void replaceRow (int ligne1, int ligne2){
   if(ligne1 >= 0 && ligne1 < tab.getRowCount() && ligne2 >=0 && ligne2 < tab.getRowCount()){
   Vector<Vector<?>> data = this.getData();
   Vector<?> tmp = this.getRow(ligne1);
   Vector<?> tmp2 = this.getRow(ligne2);
   data.remove(ligne1);
   data.add(ligne2, tmp);
   data.remove(ligne2);
   data.add(ligne1, tmp2);
   this.setData(data);
   }
  }*/

  /**Méthode permettant d'affecter les données
   * @param data Données*/
  public void setData(Vector<Vector<?>> data) {
    model.setDataVector(data, defaultTitle(data.size()));
  }



  /**Méthode permettant d'affecter les données
   * @param data Données
   * @param titre Titres des colonnes*/
  public void setData(Vector<Vector<?>> data, Vector<?> titre) {
    model.setDataVector(data, titre);
  }
  
  /**Méthode permettant de trier le tableau selon le contenu de la ligne entiére*/
  public void sort() {
        //Test
   //Collections.sort(this.getData(), new MyTableComparator(this.getRow(0)));
   //model.fireTableDataChanged();
  }
  /**Méthode permettant d'initialiser la classe
   * @param data Données
   * @param titre Les titres des colonnes
   * @param editable Quelle colonne sont éditables
   * @param visible Quelles colonnes sont visibles*/
  private void jbinit(Vector<Vector<String>> data, ColumnGroup titre, boolean[] editable, boolean[] visible) {
    //Définition du  modéle
    model = new MyTableModel(titre.generateVector(), data, editable);
    column = new MyTableColumnModel(visible);
    useColumnGroup = true;
    
    //Initialisation de la table
  System.out.print("on est la");
  JTable tab = new JTable(model,column);
   /* tab.setTableHeader(new MyTableHeader(titre));    
    tab.setColumnModel(column);
    tab.setModel(model);
    //tab.setAutoResizeMode(AUTO_RESIZE_ALL_COLUMNS);*/
    tab.setRowSelectionAllowed(false);
    tab.setRowHeight(15);
  
    JScrollPane scrollpane=new JScrollPane(tab);
    scrollpane.setBounds(0,0,45,100);
    pan.setLayout(null);
    pan.add(scrollpane);
    JFrame fe =new JFrame();
    fe.add(pan);
    fe.setSize(500, 500);
    fe.setVisible(true);
  
  }
}
mais malheureusement j'ai beau essayer de changer mais j'ai eu un affichage  d'une frame avec rien dedans.
ou est ce tableau que j'attend avec impatience
puis avoir des corrections sur mes modification de la part de mon meilleur prof de java
merci
je vous attend....

Commentaire de abdelwahebjava le 18/04/2010 01:58:18

est-ce qu'on peut utiliser sa pour extraire l'information depuis la base de donnée,c'est a dire
comme sa
|-----------------|  
|table1.champ1    |
|-----------------|
|        |        |
|tab1.ch1|tab2.ch1|
|--------|--------|

si oui comment?

Commentaire de elhorchani le 15/01/2012 00:05:30

svp j'ai besoin du classe mais de ce code

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

JTable : 2 colonnes avec 1 entête ! [ par joebar3333 ] Salut,j'aimerai obtenir une jtable avec 2 colonnes ayant une ent&#234;te commune. Si quelqu'un a une soluc', qu'il me l'explique pleaz parce que la c' JTable : 2 colonnes avec entête commune [ par joebar3333 ] Salut,D&#233;sol&#233; de reposter ce sujet mais je m'&#233;tais tromp&#233; dans le th&#232;me (j'avais s&#233;lectionn&#233; API et non Au secours). Taille du header d'un JTable [ par hades5 ] Salut, Quelqu'un saurait comment d&#233;terminer la taille de l'ent&#234;te d'un tableau. La m&#233;thode qui permet de d&#233;terminer la taille de Taille des colonnes dans une JTable [ par sleep ] Bonjour,Je dispose d'une JTable dans mon interface, mais jevoudrais que les colonnes qui la composent soient de differentes tailles (colonnes + ou - l interdire le déplacement des colonnes d'une jtable [ par schneider ] je souhaiterais interdire à l'utilisateur de pouvoir intervertir les colonnes d'une jtable.Comment fait-on? JTable avec des colonnes imbriques [ par sofien007 ] Salut pour tout le monde, Je voudrais de l'aide en se concerne JTable svp. Mon probleme est de construire un JTable de la facon suivante: ********* JTable --> Recupération d'element ?!?!?! [ par damien781 ] Hello à tous!J'ai un JTable dont les 4 premières colonnes sont chargées dans une boucle. Ma 5ième colonne est vide. Je voudrais savoir comment saisir JTable Header [ par ouahid ] j'arrive pas a rafraichire les headers des colonnes de mon jtable quand je deplace le scroller horizontal ils sont tous melangés jusqu'a a ce que je m Un ImageIcon dans une des colonnes d'un JTable [ par bibe ] Bonjour à tous.J'ai un JTable, dans une des colonnes de celui-ci, je voudrai afficher une image.Mais voila, j'ai bientôt plus de cheuveux sur la tête. List à 2 colonnes?? ou Jtable [ par math85 ] bonjour,j'utilise pour une appli une List pour afficher une serie de données.ces données viennent d'un fichier. donc elles changent plusieurs fois par


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,406 sec (4)

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